CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

SQL语句改错

楼主LinLinLin(当霖绝顶)2003-12-03 11:50:14 在 Delphi / 数据库相关 提问

procedure   TDatainputs_Form.workGrid;  
  var   SQLstr:string;  
  begin  
  with   DM.Work_Query1   do  
  begin  
  close;  
  sql.Clear;  
  sql.Add('select   b.员工编号,b.开始时间,b.结束时间,b.工作单位,b.担任职务,b.所在部门,b.级别,b.附加说明   from   work   b   where');  
  SQLstr:='员工编号'+'   '+'='+'   '+'"'+DBBH.text+'"';  
  sql.add(SQLstr);  
  open;  
  end;  
  end;  
  我这段代码出现以下错误提示:  
  DBISAM   Engine   Error   #   11949   SQL   error   -   'Invalid   column   name   '002'   or   table   correlation   name   "specified   in   WHERE   or   JOIN   clause'  
  应该怎么改呀!请高手指点。  
  数据库为:DBISAM   4.00 问题点数:50、回复次数:13Top

1 楼noil0125(珏心)回复于 2003-12-03 11:56:55 得分 50

sql.Add('select   b.员工编号,b.开始时间,b.结束时间,b.工作单位,b.担任职务,b.所在部门,b.级别,b.附加说明   from   work   b');  
  sql.Add('where   b.员工编号   =   '+quotedstr(DBBH.text));Top

2 楼rockswj(石头,一直再努力)回复于 2003-12-03 12:02:29 得分 0

一个表不加别名也可以。Top

3 楼wave_f(小浪花)回复于 2003-12-03 12:04:06 得分 0

SQLstr:='员工编号'+'   '+'='+'   '+'"'+DBBH.text+'"';  
  改为  
  SQLstr:='员工编号='#39+   dbbh.text   +#39'';  
   
  Top

4 楼LinLinLin(当霖绝顶)回复于 2003-12-03 12:22:27 得分 0

那这几段要怎么改呀!  
  1、DM.File_Query1.SQL.add('select   *   from   filedata   where');  
  SQLstr:=FindCB1.text+'   '+MatchEd1.text+'   '+'"'+FindEd1.text+'"';  
   
  2、sql.Add('select   "隶属部门",'+i+',count(*)   as   男   into   tmp_gg   from   FileData   where   性别="男"   group   by   "隶属部门",'+i+'');Top

5 楼liqing7165(立青)回复于 2003-12-03 17:32:12 得分 0

upTop

6 楼zhxfzhxf1(zhxfzhxf1)回复于 2003-12-03 17:38:03 得分 0

同意:   noil0125(珏心)Top

7 楼LinLinLin(当霖绝顶)回复于 2003-12-03 17:48:26 得分 0

那这几段要怎么改呀!  
  1、DM.File_Query1.SQL.add('select   *   from   filedata   where');  
  SQLstr:=FindCB1.text+'   '+MatchEd1.text+'   '+'"'+FindEd1.text+'"';  
   
  2、sql.Add('select   "隶属部门",'+i+',count(*)   as   男   into   tmp_gg   from   FileData   where   性别="男"   group   by   "隶属部门",'+i+'');  
  Top

8 楼xiaocuo_zrf(小错——淫雄所贱略同)回复于 2003-12-03 19:43:18 得分 0

首先如果你觉得那么多‘’号扰乱眼睛  
  的话试试这个函数QuotedStr(员工编号)  
  Top

9 楼ln521(*逃课小王子*)回复于 2003-12-03 20:25:43 得分 0

sql.add('selectb.员工编号,b.开始时间,b.结束时间,b.工作单位,b.担任职务,b.所在部门,b.级别,b.附加说明   from   work   b   where   b.员工编号='+''''+dbbh.text+'''');  
  Top

10 楼LinLinLin(当霖绝顶)回复于 2003-12-03 22:35:01 得分 0

这句要怎么改呀!  
  sql.Add('select   "隶属部门",'+i+',count(*)   as   男   into   tmp_gg   from   FileData   where   性别="男"   group   by   "隶属部门",'+i+'');  
  运行时出现错误提示如下:  
  DBISAM   Engine   Error   #   11949   SQL   error   -   'Invalid   column   name   '男'   or   table   correlation   name   "specified   in   WHERE   or   JOIN   clause'Top

11 楼suton(suton)回复于 2003-12-03 22:56:15 得分 0

select   into   tmp_gg????  
   
  不能这样的,有了into表示把查询信息加到一个表里面去,这个表不能是已经存在的表。  
  一般使用临时表。临时表又分会话中的临时表和全局临时表。前者要在前面加上“#”,后者加两个“#”  
  如果你真要把查询信息加到这个表,可以这样用:  
  insert   into   tmp_gg   (fields_list)   select   (fields_list)   from   sourcetable   where   clause......Top

12 楼LinLinLin(当霖绝顶)回复于 2003-12-03 23:07:54 得分 0

TO:   suton(suton)   现在这句如果改成这样就没问题,但是加入where   性别="男"  
  sql.Add('select   "隶属部门",'+i+',count(*)   as   男   into   tmp_gg   from   FileData     group   by   "隶属部门",'+i+'');  
  马上就提示如下:  
  DBISAM   Engine   Error   #   11949   SQL   error   -   'Invalid   column   name   '男'   or   table   correlation   name   "specified   in   WHERE   or   JOIN   clause'  
  Top

13 楼lilome()回复于 2003-12-04 10:36:35 得分 0

where   语句的员工编号的前面加上一个空格就可以了Top

相关问题

  • 关于ADOQUERY中使用SQL语句的问题,帮忙改错,急
  • sql改错
  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句

关键词

  • 员工
  • sql
  • dbbh
  • dbisam
  • sqlstr
  • 临时表
  • 隶属
  • filedata
  • 员工编号
  • 部门

得分解答快速导航

  • 帖主:LinLinLin
  • noil0125

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo