procedure TMain.Button1Click(Sender: TObject);
var
tj,tj1,tj2,tj3,tj4:string;
begin
tj1:='1=1';
if checkbox1.checked then //按计算机名查询
tj1:='name1 like'''+'%'+edit1.text+'%'+'''';tj2:='1=1';
if checkbox2.checked then //按部门名称查询
tj2:='dept like'''+'%'+edit2.text+'%'+'''';tj3:='1=1';
if checkbox3.checked then //按使用者查询
tj3:='user like'''+'%'+edit3.text+'%'+'''';tj4:='1=1';
if checkbox4.Checked then //按IP地址查询
tj4:='ip like'''+'%'+edit3.text+'%'+'''';tj:='select * from eekspcb where'
+tj1+'and'+tj2+'and'+tj3+'and'+tj4;ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(tj);ADOQuery1.Open;
end;end.运行上面的代码
为什么提示:'=' 附近有语法错误。.
http://duoken.cn/showtopic-140.aspx
var
tj,tj1,tj2,tj3,tj4:string;
begin
tj1:='1=1';
if checkbox1.checked then //按计算机名查询
tj1:='name1 like'''+'%'+edit1.text+'%'+'''';tj2:='1=1';
if checkbox2.checked then //按部门名称查询
tj2:='dept like'''+'%'+edit2.text+'%'+'''';tj3:='1=1';
if checkbox3.checked then //按使用者查询
tj3:='user like'''+'%'+edit3.text+'%'+'''';tj4:='1=1';
if checkbox4.Checked then //按IP地址查询
tj4:='ip like'''+'%'+edit3.text+'%'+'''';tj:='select * from eekspcb where'
+tj1+'and'+tj2+'and'+tj3+'and'+tj4;ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(tj);ADOQuery1.Open;
end;end.运行上面的代码
为什么提示:'=' 附近有语法错误。.
http://duoken.cn/showtopic-140.aspx
解决方案 »
- dbgrid问题
- Delphi改错
- delphi7中怎样与Desktop database数据库里的表相连接??????请帮助一下,非常感谢!!!!
- Hint的问题:焦点在Dll中的窗体时,鼠标移动到控件上不会显示控件的Hint,但是焦点在Exe窗体上时,把鼠标放在Dll窗体中的控件上却能显示Hint.
- 令人郁闷的FOR循环的delphi实现
- 二进制文件操作
- 梦在何方
- 在dbgrid中修改某行数据后,重新显示这个表(Foxpro)的内容在dbgrid中,怎么样把刚修改的那一行在dbgrid中聚焦,谢谢!
- bde访问数据库的权限问题,急
- win2000下注册表的问题?
- 关于Delphi程序在Windows7(64位系统)下无法运行的问题
- delphi 的判断语句问题?
每个and,都要有空格的,a=1 and b=2 and c=3
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(tj);
showmessage(tj);
ADOQuery1.Open;
+tj1+'and'+tj2+'and'+tj3+'and'+tj4;这句有问题。如果你的tj4为空,那么后面就多了and。sql不完整了。lz你练连判断都没有。
在“1=1”前加空格;computername前和like后加空格
+tj1+'and'+tj2+'and'+tj3+'and'+tj4;里面的' and'换成' and '
顺便这个也给你写了吧。
+tj1+'and'+tj2+'and'+tj3+'and'+tj4;应改成
tj:='select * from eekspcb where '
+tj1+' and '+tj2+' and '+tj3+' and' +tj4;再试试
tj:='select * from eekspcb where '
+tj1+' and '+tj2+' and '+tj3+' and ' +tj4
ADOQuery1.SQL.Add(tj);到这句看看 tj到底内容是什么东东,一看就知道少空格