读书人

有关问题出在哪

发布时间: 2012-09-17 12:06:51 作者: rapoo

问题出在哪?
一下代码运行是不报错的,但是当edit1中输入条件,查询出来的就是没结果,但是数据库表里面是有相应条件的啊,问题出在哪?字段类型也肯定是一致的。

procedure TForm1.Button3Click(Sender: TObject);
var
aa:integer;
begin
aa:=strToInt(edit1.Text);
with adoquery1 do begin
close;
sql.Clear;
sql.text:='select * from dbo.工厂日历 where 年份=:aa';
open;
end;
end;

[解决办法]
SQL查询参数要给出:
Parameters.ParamByName('aa').Value:=年份值
[解决办法]

探讨
用下面的代码就正常了,在sql中,单引号是怎么用的?为什么一边是3个单引号,最后面是4个单引号?


procedure TForm1.Button3Click(Sender: TObject);
var
aa:string;
begin
aa:=edit1.Text;
//adoquery1.Active:=false;
with adoquery1 do begin
clo……

[解决办法]
如何edit1中有输入单引号,结果也会错,可以用Quotestr函数,它会帮你处理单引号问题

sql.text:='select * from table1 where bb ='+Quotestr(aa);

[解决办法]
打少了字

Delphi(Pascal) code
sql.text:='select * from table1 where bb ='+Quotedstr(aa);
[解决办法]
最好是这样
sql.text:='select * from table1 where bb ='+Quotedstr(aa);

读书人网 >.NET

热点推荐