关于 clientdataset applyupdate,哪位仁兄帮忙一下.

coffeenight 2005-05-11 09:24:28
我用delphi 7,SqlServer2000,
服务器组件:ADOquery,ADOconnection,DatasetProvider
客户端:clientdataset,socketconnection,
我的界面设计是这样的:
我用的都是一个dbgrid,n个dbedit....n个dblookupcombox,我数据库的表都是关联的,
这里我用两个clientdataset,一个为dbgird用,另一个剩下的用,有主从表关系,
请问我添加记录后保存为什么不成功呢?但是修改,删除,都可以成功,就是添加不成功,
在clientdataset 的ReconcileError事件中抛出此错误:Unable to resolve records. Table name not found.
都想了两天了,今天再不解决,我就嘿wen了,哪位高手指点一下?谢谢!
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
coffeenight 2005-05-13
  • 打赏
  • 举报
回复
晕哦..是不是我的问题太简单了?
没人想回答?郁闷了,
coffeenight 2005-05-11
  • 打赏
  • 举报
回复
我刚刚入手delphi的C/S结构,望大家多多指教,我以前是干C#.net的,现在只能用delphi.
公司要求~.呵呵,
coffeenight 2005-05-11
  • 打赏
  • 举报
回复
to : yeeyee(易 一 想找 M*M)
我也想呀,我以前都是用英文的,但是现在老板要求我用中文,我也没办法的...难哦兄弟,打工的就得听
老板的说了算,

我想应该不会是中文的问题,我曾经想过会不会是索引的问题,因为我表里面建有索引,但删除后索引后
还是这样,我只有想到是主从表问题,就是那个mastersource....
谁遇到这样问题的,能否提示一下偶?
yeeyee 2005-05-11
  • 打赏
  • 举报
回复
表名用什么中文表哦,

表名最好用 英文。

弄个 英文名称,字段 的测试表看下再说。
coffeenight 2005-05-11
  • 打赏
  • 举报
回复
属性的设置都没问题呀,
暂时没办法我只能SQL语句insert ,用SQL语句一点问题都没有,

但是不用,直接post然后.applicationUpdate(0)就出现这个错误了,
不用主从表就可以解决问题,就可以向数据库里面添加记录,
我所想到的,最大的问题出在于:主从表,

我的数据库设计是这样的:
员工基本信息表:
---------------------------------------
ID 员工ID 姓名 .......部门ID 学历ID...//表字段
1 0101 张三 ....... 01 5 ...//字段内容
---------------------------------------
---------------------------------------
部门表
----------------------------------------
ID 部门ID 部门
2 01 销售部
----------------------
注:"//表字段"是注释.

"学历表"结构和"部门表"基本上一样,

在程序中:
我有1个DBgrid,N个dbedit,N个dblookupcombox,
两个clientdataset:cds_userinfo,cds_adduerinfo,
两个Datasource:DS_userinfo,Ds_adduserinfo.
clientdataset:cds_userinfo和cds_adduerinfo的关系:cds_adduerinfo的masterSource为:DS_userinfo ;masterfields为:员工ID.
DBgrid的datasource是DS_userinfo,N个dbedit和N个dblookupcombox共用一个datasource:Ds_adduserinfo.
cds_userinfo的commandtext:
select a.*,b.性别,c.部门,h.职务,d.婚姻状况,e.政治面貌,f.民族,g.学历 from 员工基本信息 as a,性别表 as b,部门表 as c,职务表 as h,婚姻状况 as d,政治面貌 as e,民族 as f,学历表 as g where 员工ID<>''' + Frm_main.user_ID + ''' and a.性别ID=b.性别ID and a.部门ID=c.部门ID and a.职务ID=h.职务ID and a.婚姻状况ID=d.婚姻状况ID and a.政治面貌ID=e.政治面貌ID and a.民族ID=f.民族ID and a.学历ID=g.学历ID order by a.ID
cds_adduserinfo的commandtext:
select * from 员工基本信息

在dblookupcombox(部门)里面的listsource的dataset为:另外一个clientdataset.它的commandtext:select * from 部门表.同样,对于其它的性别、职务、政治面貌、民族等等分别用它们自己的listsource的dataset,
但它们的datasource 都为:Ds_adduserinfo.

当我点击dbgrid的内容的时候,下面的dbedit,dblookupcombox都可以跟着变化.
我修改,删除都没问题,但是添加就出现上面我所说的问题,郁闷哦,...
是不是当我cds_adduserinfo.append 后,cds_adduserinfo和cds_userinfo的关系(masterSource,主从表)变了???哪位能忙一下?如何处理?
不能用Sql语句来insert.!

lovcal 2005-05-11
  • 打赏
  • 举报
回复
up
yeeyee 2005-05-11
  • 打赏
  • 举报
回复
:Unable to resolve records. Table name not found.

不能保存记录,没有那个表啊。

看看自己指定的 ADOquery,ADOconnection 的属性。
coffeenight 2005-05-11
  • 打赏
  • 举报
回复
怎么没有人回答的?是不是我的问题太简单了.
开发C/S系统的同行能否指点迷津呀???

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧