我在服务端用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.都不行,
望高手相助!
解决方案 »
- delphi写数独输入一个数字,然后自动填写其他的。
- 在DataSource组件的OnUpdateData事件中里,如何判断DBGRID里的操作是插入还是更新还是删除?
- DBExpress连接SQLSERVER2000错误~~
- 想取flsh文件中的一帧保存为bmp图片,不用shockwaveflash组件能不能实现
- 欢迎大家下载我的软件,下载者有分.
- 求救:TNMSMTP如何发送邮件???出现“需要SMTP认证”错误怎么解决???
- 关于Coinitialize()在dll中的调用问题,请高手指教。
- D2012准备出来了没。
- procedure gettablename(tablename:string;from1:TForm1);
- ======ADOConnection的问题=======
- qrp3.6无法使用
- 怎么动态定义ADO连接语句?
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;