我在服务端用ADOQUERY1,客户端用DCOM,Clientdataset连接服务端应用程序
的数据库的一表TABLENAME,且ID为自累INT型。
为什么我执行
tmpID:=Clientdataset1.fieldbyname('ID').AsInteger;
为什么取出来的值老是0??(在单机程序以bde,ado做都能读取ID值)
试了许多方法如clientdataset.refreshe,clientdataset.close;clientdataset.open.都不行,
望高手相助!
的数据库的一表TABLENAME,且ID为自累INT型。
为什么我执行
tmpID:=Clientdataset1.fieldbyname('ID').AsInteger;
为什么取出来的值老是0??(在单机程序以bde,ado做都能读取ID值)
试了许多方法如clientdataset.refreshe,clientdataset.close;clientdataset.open.都不行,
望高手相助!
tmpAccounts:=clientdataset1.fieldbyname('Accounts').AsInteger;比如读的值为434532
2.用别名试试
如果不是,当然确认datesource打开情况下
//试试这个
Clientdataset1.first;
while Not Clientdataset1.eof do
begin
tmpID:=Clientdataset1.fieldbyname('ID').AsInteger;
memo1.lines.add(tmpid);
Clientdataset1.next;
end;
ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;
后即可
比如用,findkey等
你的代码应没有大问题。我做的时。ID都能正确传过来。
记住ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;