读书人

用Sql.add()时候碰下的有关问题

发布时间: 2012-10-18 13:46:55 作者: rapoo

用Sql.add()时候碰上的问题
在表A中两个字段size1和size2都为数字类型
现在要在edit1中输入一个数字,然后取值在上面两字段间的那一行数据
var
Str:string;
begin
with data.AQ1 do
begin
close;
Sql.Clear;
Sql.Add('Select * from A where size1<='''+Edit1.text+''' and size2>'''+Edit1.text+'''');
open;
Str:=data.AQ1.Fields[0].AsString;
end;
end;

问题是,where后面的语句比较老是出问题,edit中的是字符串,但是数据库中的字段是数字类型,请问我应该如何解决呢?

[解决办法]

Delphi(Pascal) code
var  Str:string;begin  with data.AQ1 do  begin  close;  Sql.Clear;  Sql.Add('Select * from A where size1<='+Edit1.text+' and size2>'+Edit1.text);  open;  Str:=data.AQ1.Fields[0].AsString;  end;end;
[解决办法]
我不懂vb,但是我觉得你这样写不好,直接把语句放到存储过程调试好,前端执行存储过程就可以了。前端语言拼接会很痛苦。并且就算前端99%的sql都是调用存储过程,毕业后的公司全部都是全存储过程开发。虽然有点极端,但是目前为止我也没遇到过太多问题。

读书人网 >SQL Server

热点推荐