我在程序中写了如下代码,运行时出错:
Adoq.Close;
Adoq.SQL.Clear;
Adoq.SQL.Add('select * from Tb_department ');
adoq.SQL.Add('where Dept_Id like ''%' + trim(EditID.Text) + '%''');
Adoq.Prepared;
adoq.Active := true;
adoq.First;
while not adoq.Eof do
begin
Dbgrid1.Fields[0].AsString:=adoq.FieldByName('Dept_Id').AsString;
Dbgrid1.Fields[1].AsString:=adoq.fieldByName('Dept_name').AsString;
adoq.Close;
adoq.Free;
end;
不知道DBGrid1怎样取值?请大家多多指点阿
Adoq.Close;
Adoq.SQL.Clear;
Adoq.SQL.Add('select * from Tb_department ');
adoq.SQL.Add('where Dept_Id like ''%' + trim(EditID.Text) + '%''');
Adoq.Prepared;
adoq.Active := true;
adoq.First;
while not adoq.Eof do
begin
Dbgrid1.Fields[0].AsString:=adoq.FieldByName('Dept_Id').AsString;
Dbgrid1.Fields[1].AsString:=adoq.fieldByName('Dept_name').AsString;
adoq.Close;
adoq.Free;
end;
不知道DBGrid1怎样取值?请大家多多指点阿
i:integer;
begin
s:=dbgrid1.Fields[0].AsString; //获取当前行的第1列的值
i:=dbgrid1.Fields[2].AsInteger; //获取当前行的第2列的值
然后改成这样试试看
Adoq.Close;
Adoq.SQL.Clear;
Adoq.SQL.Add('select * from Tb_department ');
adoq.SQL.Add('where Dept_Id like ''%' + trim(EditID.Text) + '%''');
Adoq.Prepared;
adoq.Active := true;
Dbgrid1.Fields[0]:=adoq.FieldByName;
Dbgrid1.Fields[1]:=adoq.fieldByName('Dept_name');
当前行的给定列
:=adoq.FieldByName('Dept_Id').AsString;
这样还是不行,找不到字段
再设置Dbgrid1.Column[0].FieldName:=''Dept_Id';这样第一列就能显示
Dept_id字段的值了。