问题:
CDS_EMPL:TCLientDataSet为取得员工列表数据集
其中:
ClientDataSet1.ProviderName := 'DataSetProvider_Common ';
CDS_EMPL.ProviderName := 'DataSetProvider_Common ';//
两个客户端数据集的提供者是一样的。
操作如下:
1、首先取得员工的列表
2、单击[增加按钮]增加一个员工。
3、依次输入员工的信息。
4、其中员工所属部门的信息是通过ClientDataSet1从数据库中取得。
5、保存。保存的代码是:CDS_EMPL.ApplyUpdates(0);
这个时候出现下面错误:
=====================
列名 'USER_ID ' 无效。
=====================
我如果直接输入部门的信息不会出现问题。
只要是选择就会出现上面的错误。(选择是从数据库中取得部门列表再从中选择的)
ApplyUpdates(0)这种方式更新数据,在取得数据到数据更新回数据库这期间clientdataSet的DataSetProvider不能为其他的的
clientdataSet使用。就搞不明白不是说远程数据模块是无状态对象吗?为什么取得数据后还要维护客户端的信息。
CDS_EMPL:TCLientDataSet为取得员工列表数据集
其中:
ClientDataSet1.ProviderName := 'DataSetProvider_Common ';
CDS_EMPL.ProviderName := 'DataSetProvider_Common ';//
两个客户端数据集的提供者是一样的。
操作如下:
1、首先取得员工的列表
2、单击[增加按钮]增加一个员工。
3、依次输入员工的信息。
4、其中员工所属部门的信息是通过ClientDataSet1从数据库中取得。
5、保存。保存的代码是:CDS_EMPL.ApplyUpdates(0);
这个时候出现下面错误:
=====================
列名 'USER_ID ' 无效。
=====================
我如果直接输入部门的信息不会出现问题。
只要是选择就会出现上面的错误。(选择是从数据库中取得部门列表再从中选择的)
ApplyUpdates(0)这种方式更新数据,在取得数据到数据更新回数据库这期间clientdataSet的DataSetProvider不能为其他的的
clientdataSet使用。就搞不明白不是说远程数据模块是无状态对象吗?为什么取得数据后还要维护客户端的信息。
解决方案 »
- 打好打码后想要运行程序结果弹错
- 有4个checkbox,要求根据它们的选中状态来执行不同的数据库字段操作
- TDBGrid小问题求助
- 一个错误Record, object or class type required
- 如何把excel里是数据倒入到sql数据库中(在程序里实现)?
- 请邹建等高手看看:如何在存储过程中执行跨网段的事务
- 如何用Delphi设置一个Excel文档的打印方向?(不是在Delphi中调用和打印)
- 请大家帮忙解决一个Flash播放器中的几个问题
- 我的delphi没有indyclients控件面板?
- 数据字段怎样在listbox中显示
- 如何计算memo中文个
- 打开mdi子窗体时发生错误,急需解决,在线等待
1、在为CDS_EMPL取资料后,后端DataSet是用员工sql
2、在为ClientDataSet取资料后,后端的DataSet是使用的部门sql
3、再ApplyUpdate CDS_EMPL,后端会使用DataSet,这时候DataSet已经没有员工的Schema解决:
1、用连个DataProvider
试一下这个 估计你会放弃midasl了
http://blog.csdn.net/ideation_shang/archive/2007/11/01/1862177.aspx