+ -
当前位置:首页 → 问答吧 → 为什么啊 这么获取edit.text的值??

为什么啊 这么获取edit.text的值??

时间:2011-10-09

来源:互联网

procedure TForm7.BitBtn3Click(Sender: TObject);
var
a:string;

begin
a:=edit1.Text;
if adoquery3.active then adoquery3.active :=true;
with adoquery3 do
begin
adoquery3.Close ;
adoquery3.sql.clear;
adoquery3.sql.add('select 仓位管理.仓位编号,仓位管理.存储货架,物料总表.物料编号,物料总表.物料类型,物料总表.物料名称,物料总表.货物来源,物料总表.入库时间 from 物料总表,仓位管理 where 物料总表.c_id=仓位管理.c_id and 物料总表.物料编号=''a'';');
adoquery3.open;
end;
end;

还有这种也不得:

procedure TForm7.BitBtn3Click(Sender: TObject);

begin
if adoquery3.active then adoquery3.active :=true;
with adoquery3 do
begin
adoquery3.Close ;
adoquery3.sql.clear;
adoquery3.sql.add('select 仓位管理.仓位编号,仓位管理.存储货架,物料总表.物料编号,物料总表.物料类型,物料总表.物料名称,物料总表.货物来源,物料总表.入库时间 from 物料总表,仓位管理 where 物料总表.c_id=仓位管理.c_id and 物料总表.物料编号=''['+eidt1.text+']'';');
adoquery3.open;
end;
end;
要怎么搞才对哦? 语句可以在SQL查询器中通过。估计就是获取 edit1.text的原因。求指教。。。。

作者: xiaobaigezhinu   发布时间: 2011-10-09

edit1.text的数据有问题吧,把完整的sql语句输出看看

作者: lght   发布时间: 2011-10-09

第一检测text的值,
第二对于引号,建议使用QuotedStr,比如

'select * from A where fname='+QuotedStr(edit1.text);

作者: bdmh   发布时间: 2011-10-09

引用 2 楼 bdmh 的回复:

第一检测text的值,
第二对于引号,建议使用QuotedStr,比如

'select * from A where fname='+QuotedStr(edit1.text);


最好用QuotedStr,否则输入保留字会抱错.

作者: notebook800   发布时间: 2011-10-09

用showmessage(qy1.sql.text);来看一下具体的sql语句。

作者: coderee   发布时间: 2011-10-09

引用 3 楼 notebook800 的回复:

引用 2 楼 bdmh 的回复:

第一检测text的值,
第二对于引号,建议使用QuotedStr,比如

'select * from A where fname='+QuotedStr(edit1.text);


最好用QuotedStr,否则输入保留字会抱错.


写错了 否则输入保留字(英文单引号)会抱错.

作者: notebook800   发布时间: 2011-10-09