用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中的是字符串,但是数据库中的字段是数字类型,请问我应该如何解决呢?
[解决办法]
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都是调用存储过程,毕业后的公司全部都是全存储过程开发。虽然有点极端,但是目前为止我也没遇到过太多问题。