CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

ClientDataSet提交数据问题!

楼主soyisoft(Gino)2005-02-24 08:15:07 在 Delphi / VCL组件开发及应用 提问

ClientDataSet中的内容如下:  
   
  工号     姓名   部门   职务    
   
  其中只有工号是更新表中的列,“姓名   部门   职务”是通过Join得到的。  
   
  现在客户要求,在“工号”列输入后要自动对应输入的工号显示出来“姓名   部门   职务”数据。这样我就必须更改“姓名   部门   职务”这三个列。  
   
  在提交时遇到问题,更新表中没有“姓名   部门   职务”列,更新会出现错误。  
   
  请教各位,有什么解决方法,或者解决思路嘛? 问题点数:100、回复次数:14Top

1 楼smilefox2000(V6)回复于 2005-02-24 09:13:35 得分 0

提交时自己携代码控制(   用insert   或Update语句更新),不要用clientdataset的post方法Top

2 楼soyisoft(Gino)回复于 2005-02-24 09:22:45 得分 0

这个方式太麻烦了吧??  
   
  期待其他的解决方式   …………Top

3 楼ssq237712(流亡帅哥)回复于 2005-02-24 10:43:58 得分 0

在provider的onupdateRecord(记不清具体拼写了)中用insert   或Update语句更新,如果是BDE,可以直接用TUpdateSQLTop

4 楼luckyboy97(幸运男孩)回复于 2005-02-24 10:56:59 得分 0

通过Join得到QUERY数据集是不能直接进行提交的,要用insert   或Update语句更新,或者你不要用Join得到数据集采用LOOUP字段来显示数据就可以直接提交了Top

5 楼lhfeng(荣荣)回复于 2005-02-24 11:00:37 得分 0

自己在server上写一个执行update的接口也可以在typelibrary中添加Top

6 楼soyisoft(Gino)回复于 2005-02-24 11:06:23 得分 0

有没有什么方法可以从ClientDataSet的Delta属性值中删除列?如果可以的话,删除“姓名   部门   职务”列的更新数据应该就可以实现提交Top

7 楼soyisoft(Gino)回复于 2005-02-24 11:22:21 得分 0

不知道我的想法是否可行?Top

8 楼waysoft(华子)回复于 2005-02-24 11:26:41 得分 0

我用SQLQuery实现起来非常简单。  
  Top

9 楼soyisoft(Gino)回复于 2005-02-24 11:44:22 得分 0

怎么简单,说来听听呀!Top

10 楼soyisoft(Gino)回复于 2005-02-24 12:08:14 得分 0

想过用计算列来显示,但是显示已有记录时效率就比较低了Top

11 楼chenylin(陈SIR)回复于 2005-02-24 16:03:57 得分 50

使用Lookup或第三方控件可以解决:  
  一、第三方控件:  
  1、先将"工号     姓名   部门   职务"作为一个代码表提出来,写入三个wwDBComboBox控件;  
  2、然后将这三个wwDBComboBox控件都绑定“工号”字段;  
  二、用LookUp  
  1、先将"工号     姓名   部门   职务"作为一个结果集提出来,用三个DBComboBox;  
  2、然后将这三个DBComboBox控件都绑定“工号”字段,Lookup设定为第一步提出来的结果集;  
   
   
  Top

12 楼soyisoft(Gino)回复于 2005-02-24 16:43:46 得分 0

嗯,这个思路应该可以,试试看。成功了马上结贴!先谢谢各位了Top

13 楼Erice(白雪公猪)回复于 2005-02-24 16:49:39 得分 50

难道不能把表示层和数据层分开吗?  
   
  客户看到的是视图   (尽量不要用计算字段什么的,影响速度),当客户修改数据时,操作的是数据层,数据层就是实际的表,不就解决了吗!!Top

14 楼soyisoft(Gino)回复于 2005-02-24 22:36:31 得分 0

Erice   兄说的意思是:  
      显示用一个CDS,表数据用一个CDS,显示用的CDS不用来直接提交,而是通过显示CDS间接的更新表数据CDS,提交的时候用表数据CDS。  
   
  不知道我理解的对不对?Top

相关问题

  • C/S程序,怎么样把客户端的数据提交到服务器端,我用的是ClientDataSet
  • >>如何随意修改ClientDataSet中几笔数据(即多条纪录),然后一次提交?
  • 数据提交的问题~~~
  • 数据提交的问题~~
  • 数据提交的问题
  • 分页提交数据
  • 数据提交的问题???
  • 数据提交问题
  • 如何提交数据
  • 数据提交...在线等...

关键词

  • 数据
  • 字段
  • 控件
  • 语句
  • 解决
  • 客户
  • 工号
  • 提交
  • clientdataset
  • 姓名部门职务

得分解答快速导航

  • 帖主:soyisoft
  • chenylin
  • Erice

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo