Foxtable(狐表)用户栏目专家坐堂 → [求助]sqlserver 受PRIMARY KEY 约束后,在FT中插入不正常


  共有3824人关注过本帖树形打印复制链接

主题:[求助]sqlserver 受PRIMARY KEY 约束后,在FT中插入不正常

帅哥哟,离线,有人找我吗?
pengjiam
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:2763 威望:0 精华:0 注册:2011/7/30 21:27:00
[求助]sqlserver 受PRIMARY KEY 约束后,在FT中插入不正常  发帖心情 Post By:2013/8/21 14:17:00 [只看该作者]

1、在SQL SERVER 中的表中部分字段做了PRIMARY KEY 约束,以保障唯一标识数据库表中的每条记录;

2、我在FT的窗口中调用该表,要对表进行插入操作,一般情况下受primary key约束的字段需要系统提供;

3、可提供的值系统根本不认

怎么办?

 

顺便提供案例,请用其中的窗口3进行测试

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hq.rar


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/21 14:19:00 [只看该作者]

primary key 只能是_Identify列 不能是其他

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/8/21 14:26:00 [只看该作者]

建议主键用自动增量列,名称可以是_Identify,可以是其他
[此贴子已经被作者于2013-8-21 14:26:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
shiqiso
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:4 积分:80 威望:0 精华:0 注册:2013/8/21 15:57:00
  发帖心情 Post By:2013/8/21 16:00:00 [只看该作者]

原来如此

 回到顶部
帅哥哟,离线,有人找我吗?
pengjiam
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:2763 威望:0 精华:0 注册:2011/7/30 21:27:00
  发帖心情 Post By:2013/8/21 16:13:00 [只看该作者]

我用的SQL SERVER 2000版的数据库。在定义表时已对表中的关键字段进行了限制,有的表关键字段可以只有一个,用于唯一区别记录,实现不容许重复的目的。有的表可能需要2个或以上字段来限制记录的唯一性。使用_Identify不能达到目的,特别是多个字段确定记录的唯一性时。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/8/21 16:18:00 [只看该作者]

去掉这些多字段的唯一约束,在foxtable中用代码来控制重复输入吧:

 

http://www.foxtable.com/help/topics/2481.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
pengjiam
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:2763 威望:0 精华:0 注册:2011/7/30 21:27:00
  发帖心情 Post By:2013/8/21 16:27:00 [只看该作者]

我想该问题应该好解决,毕竟我是在FT中进行插入行。或FT中addnew()能带参数也可以,参数包括主要字段及其内容,与sql中insert into类似。


 回到顶部
帅哥哟,离线,有人找我吗?
pengjiam
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:187 积分:2763 威望:0 精华:0 注册:2011/7/30 21:27:00
使用DataRowAdding事件不能全部解决问题  发帖心情 Post By:2013/8/24 5:51:00 [只看该作者]

 

1、  表中约束字段有2个:单号、项次

2、  通过专门的COMOBOX控件来改变单号的值,第一进入该控件后在表中新增一行,并把comobox的值付给表中的单号;(见程序)

3、  可以通过↓键新增行;

问题是:首次进入comobox控件后所选的值有误的情况下,再重选后,不能改变表中的“单号”( ValueChanged中replacefor不起作用),如在表中新增了几行后,再次进入comobox控件去选中新单号后,又可以改变表中的单号了(ValueChanged中replacefor又起一定作用,但不稳定)。

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:hq.rar


 回到顶部