提示‘>’附近有语支错误,这个语法错在哪?

想到才能做到 2011-08-17 03:08:37
procedure Twwjgfx.QueryData;
var
strSQL, strWhere,Zw_para1,Zw_para2: string;

begin
Zw_para1:=DBDateTimeEditEh1.Value; //开始日期
Zw_para2:=DBDateTimeEditEh2.Value;
strsql := 'select * from WWJGsql';
strWhere := 'WHERE';
strSQL := strSQL + strWhere + ' RQ >= ''' + Zw_para1 + ''' and ifcheck=''t'' ';
strWhere := 'AND';
strSQL := strSQL + strWhere + ' RQ <= ''' + Zw_para2 + ''' and ifcheck=''t'' ';
strWhere := 'AND';


//单据编号
if Edit1.Text <> '' then
begin
strSQL := strSQL + strWhere + ' djbh like +'''+'%'+Edit1.Text+'%'+''' ';
end;

//往来单位
if Edit2.Text <> '' then
begin
strSQL := strSQL + strWhere + ' dwmc like +'''+'%'+Edit2.Text+'%'+''' ';
end;

//商品名称
if Edit3.Text <> '' then
begin
strSQL := strSQL + strWhere + ' spmc like +'''+'%'+Edit3.Text+'%'+''' ';
end;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add (strSQL);
ADOQuery1.Open;
end;



提示‘>’附近有语支错误,这个语法错在哪?
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
taoran12 2011-08-18
  • 打赏
  • 举报
回复
逗号太多看着头晕,delphi里有个函数可以解决这个问题,忘了
山东蓝鸟贵薪 2011-08-18
  • 打赏
  • 举报
回复
还是SQL语句不标准,
建议你用SHOWMESSAGE()显示一下那个SQL语句吧
山东蓝鸟贵薪 2011-08-18
  • 打赏
  • 举报
回复
你呀,又是SQL语句不标准,还是用showmessage()
显示一下那个SQL语句吧
kye_jufei 2011-08-18
  • 打赏
  • 举报
回复
單步跟蹤調試。。。
lyhoo163 2011-08-18
  • 打赏
  • 举报
回复
strSQL := strSQL + strWhere + ' RQ >= ''' + Zw_para1 + '' and ifcheck=''t''';
rainychan2009 2011-08-17
  • 打赏
  • 举报
回复
SQL语句现在查询分析器里面确认没有问题了再朝程序里面写
likeyrain 2011-08-17
  • 打赏
  • 举报
回复
strSQL + strWhere 得到的结果是select * from WWJGsqlWHERE 少一个空格吧?跟踪调试一下不就知道了,另外,把SQL语句用showmessage显示出来也能找到问题
纯冰糖 2011-08-17
  • 打赏
  • 举报
回复
这样的Sql语句最好用Format格式化一下
sSql:=Format('select id,name form user where id=%d and name=''%s''',[nId,sName]);

下断点,调试出最后的Sql,放到数据库那边去执行就知道了

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧