代码如下:
procedure TForm2.FormCreate(Sender: TObject);
begin
ADOConnection2.Connected := true;
aPower := form12.power;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from cpm_AccessControl where powerLevel=aPower');
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
ADOQuery2.Open;
end;
里面用到的两个参数是在该unit的private区声明的
private
{ Private declarations }
aPower: string;
aCommunity: string;
////////////////////////////////////////////////////////////////////////////////
出错信息如下:
ADOQuery2: Field 'communityName' not found.在我建好的cpm_AccessControl 表里面确实有communityName这个字段啊,郁闷,请问是为什么会出错啊?谢谢
procedure TForm2.FormCreate(Sender: TObject);
begin
ADOConnection2.Connected := true;
aPower := form12.power;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from cpm_AccessControl where powerLevel=aPower');
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
ADOQuery2.Open;
end;
里面用到的两个参数是在该unit的private区声明的
private
{ Private declarations }
aPower: string;
aCommunity: string;
////////////////////////////////////////////////////////////////////////////////
出错信息如下:
ADOQuery2: Field 'communityName' not found.在我建好的cpm_AccessControl 表里面确实有communityName这个字段啊,郁闷,请问是为什么会出错啊?谢谢
ADOQuery2.Open;
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
ADOQuery2.Open;这两句换个顺序,你还没打开那个数据集怎么能从里面取得数据呢??
begin
ADOConnection2.Connected := true;
aPower := form12.power;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from cpm_AccessControl where powerLevel=')+ QuotedStr(aPower);
ADOQuery2.Open;
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
end;
aCommunity := ADOQuery2.FieldByName('communityName').AsString;
ADOQuery2.Open;
这两句顺序是反了,呵呵,居然没看出来。惭愧!还有redleaf80(帅の很遗憾)的是对的,不过括号需要做一下改动:
ADOQuery2.SQL.Add('select * from cpm_AccessControl where powerLevel='+ QuotedStr(aPower));谢谢各位了。