为什么小弟我deiphi查询不到sql中的数据
为什么我deiphi查询不到sql中的数据
procedure TForm7.Button1Click(Sender: TObject);
begin
if Edit1.Text='' then
ShowMessage('无输入,请输入查询要求!')
else
with adoquery1 do
begin
close;
Sql.Clear;
SQL.ADD('select * from [预订客户查询表] where [客户姓名]=:pname and [预住天数]=:Pday');
Parameters[0].Value:= edit1.text;
Parameters[1].Value:= edit4.text;
OPEN;
while not eof do
begin
Edit5.Text:=adoquery1.FieldByName('客户姓名').AsString;
Edit6.Text:=adoquery1.FieldByName('预住天数').AsString;
Edit7.Text:=adoquery1.FieldByName('房间号').AsString;
Edit9.Text:=adoquery1.FieldByName('房间电话').AsString;
Edit8.Text:=adoquery1.FieldByName('应收金额').AsString;
Next;
end;
end;
大体是这样的,客户输入edit1和edit4,然后按照输入的内容进行查找,将查询出来的输出在,Edit5,6,7,8,9中。问什么我运行的时候按了button后没反应?没报错和不显示出来,就是不停的按。没反应?怎么回事
------解决方案--------------------
改成这样
Parameters[0].Value:= QuotedStr(edit1.text);
Parameters[1].Value:= edit4.text;
------解决方案--------------------
表名,最好还是用英文或拼音的好,编程要养成良好的习惯,这几句改成这样,就应该可以了:
SQL.ADD('select * from [预订客户查询表] where [客户姓名]=:pname and [预住天数]=:Pday');
Parameters.ParamByName('pname').Value:= Trim(edit1.text);
Parameters.ParambyName('pday').Value:= Trim(edit4.text);
------解决方案--------------------
使用dbgrid控件,显示这个多方便,也没有这么麻烦
------解决方案--------------------
单步跟踪调试一下,看看SQL能查出来数据吗
procedure TForm7.Button1Click(Sender: TObject);
begin
if Edit1.Text='' then
ShowMessage('无输入,请输入查询要求!')
else
with adoquery1 do
begin
close;
Sql.Clear;
SQL.ADD('select * from [预订客户查询表] where [客户姓名]=:pname and [预住天数]=:Pday');
Parameters[0].Value:= edit1.text;
Parameters[1].Value:= edit4.text;
OPEN;
while not eof do
begin
Edit5.Text:=adoquery1.FieldByName('客户姓名').AsString;
Edit6.Text:=adoquery1.FieldByName('预住天数').AsString;
Edit7.Text:=adoquery1.FieldByName('房间号').AsString;
Edit9.Text:=adoquery1.FieldByName('房间电话').AsString;
Edit8.Text:=adoquery1.FieldByName('应收金额').AsString;
Next;
end;
end;
大体是这样的,客户输入edit1和edit4,然后按照输入的内容进行查找,将查询出来的输出在,Edit5,6,7,8,9中。问什么我运行的时候按了button后没反应?没报错和不显示出来,就是不停的按。没反应?怎么回事
------解决方案--------------------
改成这样
Parameters[0].Value:= QuotedStr(edit1.text);
Parameters[1].Value:= edit4.text;
------解决方案--------------------
表名,最好还是用英文或拼音的好,编程要养成良好的习惯,这几句改成这样,就应该可以了:
SQL.ADD('select * from [预订客户查询表] where [客户姓名]=:pname and [预住天数]=:Pday');
Parameters.ParamByName('pname').Value:= Trim(edit1.text);
Parameters.ParambyName('pday').Value:= Trim(edit4.text);
------解决方案--------------------
使用dbgrid控件,显示这个多方便,也没有这么麻烦
------解决方案--------------------
单步跟踪调试一下,看看SQL能查出来数据吗