表名称a
temp h
100 10
200 20
300 30
400 40
500 50
...
放两个edit,一个用来输入temp的值,一个用来显示对应的h的值,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select h from a where h=:temp');
parameters.ParamByName('temp').Value:=edit1.Text;
open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldbyname('h').AsString;end;
end;
end;
但是 edit2.Text:=adoquery1.fieldbyname('h').AsString;这句中的adoquery1.中fieldbyname没有,但是写出来可以运行,输入edit1后按纽edit2不显示请问错在哪里?大家帮忙看一下
temp h
100 10
200 20
300 30
400 40
500 50
...
放两个edit,一个用来输入temp的值,一个用来显示对应的h的值,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select h from a where h=:temp');
parameters.ParamByName('temp').Value:=edit1.Text;
open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldbyname('h').AsString;end;
end;
end;
但是 edit2.Text:=adoquery1.fieldbyname('h').AsString;这句中的adoquery1.中fieldbyname没有,但是写出来可以运行,输入edit1后按纽edit2不显示请问错在哪里?大家帮忙看一下
查询没有找到
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select h from a where h='''+edit1.Text+'''');
open;
if adoquery1.RecordCount>0 then
begin
edit2.Text:=adoquery1.fieldbyname('h').AsString;
end else ShowMessage('数据未找到!');
end;
end;
还有为什么表名和字段名都用单个字母呢?
应该是sql.Add('select h from a where temp='''+edit1.Text+'''');
但是说标准表达式中数据类型不匹配是什么原因啊?