TTable对多个字段的主键的Insert的Bug

hardnut 2000-05-26 05:22:00
在sql6.5中的如下一个表
create table tbdetail
(
dtlid integer identity,
mstid integer not null foreign key reference tbmaster(mstid),
name varchar(20),
primary key(mstid,dtlid)
)
在delphi5中用一个TTable-TDataSource-TDBGrid与这个表相连,结果在TDBGrid中进行数据的输入时,在mstid,name两栏中输入正确的值,在post时发生错误,大意是说:找到了多条记录,但只需要一条。实际上服务器中已正确地Insert了一条记录,
如果只把主键建在dtlid列上则没有问题,
不知各位网友碰上没有,有什么解决的好办法?
近来感觉delphi的bug越来越多,我的同事们都认为它真是一个经不起推敲的系统,各位网友是否有同感?
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
halfone 2000-05-29
  • 打赏
  • 举报
回复
identity 就不用它了。自己写一个自增函数。因为MS SQL SERVER 不能保证IDENTITY
是唯一值的。
hardnut 2000-05-27
  • 打赏
  • 举报
回复
我按Again网友的建议把别名的sqlqrymode设为Server但问题依旧,不知各位高手还有什么高抬没有,真的是不愿象fyje网友那样处理。
Again 2000-05-27
  • 打赏
  • 举报
回复
到BDE Administrator中把BDE的解释方式(SqlRqyMode)置为Server模式看看
fyje 2000-05-26
  • 打赏
  • 举报
回复
我也遇到过同样的问题,最后用给他赋默认值的方法解决.加强一下存储之前的字段检查,可能会好一点

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧