首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

有关问题出在哪

2012-09-17 
问题出在哪?一下代码运行是不报错的,但是当edit1中输入条件,查询出来的就是没结果,但是数据库表里面是有相

问题出在哪?
一下代码运行是不报错的,但是当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);

热点排行