CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

SQL有一列是identity,使用TABLE连接,如何插入数据? 在线等~~~~~~~

楼主lvenx(lvenx)2005-04-01 20:24:00 在 Delphi / 数据库相关 提问

表结构如下  
  create   table   DocType        
  (  
      DocT_ID                   INT     Not   null   identity(10001,1)   primary   key,  
      DocT_Pro Nchar(12)   Not   null  
  )  
  使用DBedit   承接DocT_Pro,  
  按键BT1代码:  
  procedure   Tdocinfform.BitBtn1Click(Sender:   TObject);  
  begin  
  cdm.CDataM.docinfDataSet.FieldByName('DocT_ID').Required:=FALSE;  
  cdm.CDataM.docinfDataSet.Insert;  
  cdm.CDataM.docinfDataSet.Post;  
  end;  
   
  提示错误:key   violation  
   
  如何解决?我是使用三层结构,clientdataset连接应用服务器 问题点数:30、回复次数:3Top

1 楼Bes96261(秋水孤鶩)回复于 2005-04-02 08:02:47 得分 0

1:在中间层将创建永久性字段,然后在永久性字段列表中将DocT_ID设为Key及不更新   即可Top

2 楼lvenx(lvenx)回复于 2005-04-02 10:23:59 得分 0

具体步骤?Top

3 楼Bes96261(秋水孤鶩)回复于 2005-04-04 08:08:25 得分 30

1:如果你的中间层中使用ADOQuery获取数数(只要是TDataSet都一样)   双击TAdoQuery   -->   右键   -->   Add   All   Fields   -->   选取"DocT_ID"   将其属性中的ProviderFlags中的pfInUpdate设为False,ReadOnly设为True     其它的字段将pfInWhere置为False  
  2:将指向TAdoQuery的TDataSetProvider控件中的BeforeUpdateRecord事件中写入代码:  
    if   updatekind=ukinsert   then  
          DeltaDS.FieldByName('DocT_ID').ProviderFlags:=DeltaDS.FieldByName('Add_ID').ProviderFlags-[pfinkey]  
    else  
        DeltaDS.FieldByName('DocT_ID').ProviderFlags:=DeltaDS.FieldByName('Add_ID').ProviderFlags+[pfinkey]  
  3:在客户端不要对DocT_ID作任何赋值或修改类的操作  
   
  procedure   Tdocinfform.BitBtn1Click(Sender:   TObject);  
  begin  
      cdm.CDataM.docinfDataSet.Insert;  
      cdm.CDataM.docinfDataSet.FieldByName('DocT_ProN').AsString   :=   "Value";  
      cdm.CDataM.docinfDataSet.Post;       //另外也不是用Post提交,一般用ApplyUpdate提交  
  end;  
  Top

相关问题

  • sql语句插入问题
  • 看看我的SQL插入
  • sql无法插入时间
  • 用insert into table union all select 插入的记录数达到1724时,SQL出现错误!
  • 怎么在vc中插入sql语句?
  • 用sql插入数据时出错
  • SQL问题?将表1插入表2.......
  • SQL的数据插入问题!
  • 请教插入记录的sql语句
  • 如何向SQL Server 中插入图片?

关键词

  • 字段
  • doct
  • cdatam
  • docinfdataset
  • providerflags
  • deltads
  • fieldbyname
  • cdm
  • 使用
  • post

得分解答快速导航

  • 帖主:lvenx
  • Bes96261

相关链接

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

广告也精彩

反馈

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