begin
dm.DataModule1.Q_S_hmxx.Close;
dm.DataModule1.Q_S_hmxx.SQL.Clear;
dm.DataModule1.Q_S_hmxx.SQL.Add('select count(*) as [hzgs] from hmxx where hz = ''13''');
//iiii:= 'select count(*) as [hzgs] from hmxx where hz = ''13''';
dm.DataModule1.Q_S_hmxx.Open; label1.Height:= dm.DataModule1.Q_S_hmxx.FieldValues['hzgs'].AsInteger;
end用的ADO连接,其他都没有什么问题,现在问题是运行这个,到open后就提示field 'id' not found ,ID是access 自动增加的一个字段。如果open,改成exeC的话,就不返回结果了。
我4过无论这里add()什么都不行。
前面其他的都是用的 ExecSQL,前面只是insert 之类的。
dm.DataModule1.Q_S_hmxx.Close;
dm.DataModule1.Q_S_hmxx.SQL.Clear;
dm.DataModule1.Q_S_hmxx.SQL.Add('select count(*) as [hzgs] from hmxx where hz = ''13''');
//iiii:= 'select count(*) as [hzgs] from hmxx where hz = ''13''';
dm.DataModule1.Q_S_hmxx.Open; label1.Height:= dm.DataModule1.Q_S_hmxx.FieldValues['hzgs'].AsInteger;
end用的ADO连接,其他都没有什么问题,现在问题是运行这个,到open后就提示field 'id' not found ,ID是access 自动增加的一个字段。如果open,改成exeC的话,就不返回结果了。
我4过无论这里add()什么都不行。
前面其他的都是用的 ExecSQL,前面只是insert 之类的。
hmxx表没有ID这个字段;>>如果open,改成exeC的话,就不返回结果了。select语句,用open来执行,并返回数据集
insert,update,delete这个没有返回数据集的SQL语句,用ExecSql来执行
看你上面的代码,其实只有
>>label1.Height:= dm.DataModule1.Q_S_hmxx.FieldValues['hzgs'].AsInteger;应该也是使用hzgs这个字段而且呀,没有使用ID呀,这一句改成这样试试
label1.Height:= dm.DataModule1.Q_S_hmxx.FieldByName('hzgs').AsInteger;
id: TAutoIncField;
hz: TWideStringField;
不过有个问题,第一个Form1里面有CXgrid,点击按钮创建乐Form2,Form2里面这么查询后,Form1里面的数据都空乐,怎么弄阿。