我的查询语句是这样的:
Try
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'SELECT * FROM IODate WHERE aa = i AND ae = j';
ADOQuery1.Open;
DBGrid1.Update;
DBGrid1.Show;
Except
// Memo1.SetFocus;
FORM2.Close;
end;
原来的ADOQuery1.SQL.Text 是显示整个数据库的,就是select * from IODate,这个IODate就是表名
i是指文本型的用户名,j是时间型的一个日期
为什么我查询的时候老是出错,错误是i和j没有默认值,这是怎么回事啊??
还有就是如果我把i.j换成常量来进行查询,错误就没了,但是数据库中显示的查询结果只有网格,没有数据,这个是怎么回事??到底执行查询的代码该怎么写啊??请教!!
Try
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'SELECT * FROM IODate WHERE aa = i AND ae = j';
ADOQuery1.Open;
DBGrid1.Update;
DBGrid1.Show;
Except
// Memo1.SetFocus;
FORM2.Close;
end;
原来的ADOQuery1.SQL.Text 是显示整个数据库的,就是select * from IODate,这个IODate就是表名
i是指文本型的用户名,j是时间型的一个日期
为什么我查询的时候老是出错,错误是i和j没有默认值,这是怎么回事啊??
还有就是如果我把i.j换成常量来进行查询,错误就没了,但是数据库中显示的查询结果只有网格,没有数据,这个是怎么回事??到底执行查询的代码该怎么写啊??请教!!
解决方案 »
- SQL数据库问题
- 哪个版本的Delphi(Delphi5- Delphi2009)编译出来的目标代码最小巧?
- 在 Delphi 2007 里,如何才能添加自己的帮助文件呢?
- ocx文件,如何在 不注册的情况下动态调用(不用regsvr32 *.ocx)
- NoReady(亦正亦偏) 、 Jasonn(阿东) 、 minnie0411(哆啦A梦)
- 请帮我看一下这个查询错在哪里?
- 如何让线程可以sendmessage接收消息呢?
- 如何在程序运行期间将另一个单元编译保存,在线等待。
- 如何去掉bitmap的黑背景!
- 我看到很多浏览器都可以不显示弹出式窗口,而不需要事先屏蔽那个地址。它是怎么做到的?
- TIDUDPServer问题
- 要在TShape右边增加几个TMemo属性,要求TShape移动时TMemo跟着移动,该怎么写?
adoquery1.parameters.parambyname('i').value:='11';
ADOQuery1.SQL.Text := 'SELECT * FROM IODate WHERE aa = '+'''i'''+' AND ae = j'
-----------------------------------------------------------------------------
同意上面的,你的符号都没有写直接就+了,这样是不行的~~,是会出问题的~~~
偶常用的写法(可以比较其它地方的数据)+‘AND’+‘(黑糊糊=’+学习.TEXT+‘)’;
WHERE DATE=#‘+FORMATDATETIME(’YYYY-MM-DD‘,YOUDATE)+’#‘;
你那样比较也是不对的~~~~
也是会出问题的~~~~~~~~~~
+ ''' And ae =''' + j + ''''
'Select * From I0Date Where aa ='+#39+i+#39+' and '+#39+j+#39
adoquery1.sql.add('Select * from IOData where aa=:i and ae=:j');
adoquery1.paremeters.parambyname('i').value:='abcd';
adoquery1.paremeters.parambyname('j').value:='efg';
adoquery1.open;是不是应该这样应用查询参数啊。
改成
adoquery1.paremeters.parambyname('j').value:=datetimepicker1.datetimej是个日期时间的。
adoquery1.parameters.parambyname('i').value:='11';
这样比较好!