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

急,主从表操作中,从表新加记录有错误

楼主whme()2002-06-14 09:06:24 在 Delphi / VCL组件开发及应用 提问

我的操作环境:win2000,delphi6,sqlserver   2000  
  主表:ID,date,hz,zb     (ID为关键字,怎么编号  
  从表:ID,MainID,num,patternID       (ID为从表关键字段并自动编号   ,MainID与主表链接)  
   
  在从表插入记录时,有的记录ID没有跟SQL   SERVER中的ID相同,要刷新requery才能与主表相同,在没有刷新的情况如果从表修改数据就会发生错误  
   
   
  表  
   
   
  CREATE   TABLE   [dbo].[r_mx_in_main]   (  
  [date]   [datetime]   NULL   ,  
  [ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,  
  [billNo]   [char]   (16)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
  [zb]   [nvarchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
  [sh]   [nvarchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
  [hz]   [nvarchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
  [cd]   [nvarchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
  [memo]   [ntext]   COLLATE   Chinese_PRC_CI_AS   NULL    
  )   ON   [PRIMARY]   TEXTIMAGE_ON   [PRIMARY]  
   
   
  从表  
   
   
  CREATE   TABLE   [dbo].[r_mx_in_detail]   (  
  [ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,  
  [MainID]   [int]   NOT   NULL   ,  
  [patternID]   [int]   NOT   NULL   ,  
  [num]   [int]   NOT   NULL   ,  
  [memo]   [ntext]   COLLATE   Chinese_PRC_CI_AS   NULL    
  )   ON   [PRIMARY]   TEXTIMAGE_ON   [PRIMARY]  
   
   
  举个例子  
  从表在一次插入记录实例  
   
  ID           MainID         PatternID         Num           memo  
  230         25                 11                       25  
  231         25                 12                       5  
  245         25                 15                       1000  
  233         25                 16                         23  
   
   
  有没有发现第三条记录,ID为245,实际是232,在SQL   server   中是232  
  所以要执行requery   才能找回正确的ID232,否则此时修改那条记录将会出错  
  问题点数:100、回复次数:7Top

1 楼luoweicaisd(笑三少)回复于 2002-06-14 09:16:39 得分 0

CREATE   TABLE   [dbo].[r_mx_in_detail]   (  
  [ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,   //把IDENTITY   (1,   1)去掉  
  [MainID]   [int]   NOT   NULL   ,  
  [patternID]   [int]   NOT   NULL   ,  
  [num]   [int]   NOT   NULL   ,  
  [memo]   [ntext]   COLLATE   Chinese_PRC_CI_AS   NULL    
  )   ON   [PRIMARY]   TEXTIMAGE_ON   [PRIMARY]  
   
  Top

2 楼whme()回复于 2002-06-14 09:21:39 得分 0

去掉可以找到办法解决这个问题,我想知道为什么会这样,还有我不想改表的结构,Top

3 楼luoweicaisd(笑三少)回复于 2002-06-14 09:41:37 得分 100

IDENTITY是自动增加值字段时才用的,从表不应有自动增加自段Top

4 楼luoweicaisd(笑三少)回复于 2002-06-14 09:44:58 得分 0

应该说是从表的ID应从主表中取得不应是自动增加Top

5 楼whme()回复于 2002-06-14 09:47:06 得分 0

那从表表要怎么设计比较合理,好象从表要设置关键字段才可以修改数据Top

6 楼whme()回复于 2002-06-14 09:48:39 得分 0

MAINID是从主表取得Top

7 楼luoweicaisd(笑三少)回复于 2002-06-14 09:53:42 得分 0

当然,当保存数据时你就要从主表中取出数据到从表的相应字段才保存啊Top

相关问题

  • 急,主从表操作中,从表新加记录有错误
  • 主从表问题,更新时发生错误
  • 主从表,如何在子表中定位记录?
  • 主从表记录在同一个表格显示?
  • 我用ado连接的主从表,从表的记录不能删除
  • 请问如何遍历主从表中当前子表的全部记录
  • 主/从表中如何得到当前检索出来的记录总数?
  • 主从表添加记录,有没有标准解决方案?100分
  • 请问有关VB.NET主/从表关系的一个插入记录问题
  • 记录错误

关键词

  • null
  • 表
  • 主表
  • prc
  • collate chinese
  • ci
  • 记录
  • mainid
  • nvarchar

得分解答快速导航

  • 帖主:whme
  • luoweicaisd

相关链接

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

广告也精彩

反馈

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