用 SQL 语句增加的纪录 TTable 不能修改(100分)

  • 主题发起人 主题发起人 Yong
  • 开始时间 开始时间
Y

Yong

Unregistered / Unconfirmed
GUEST, unregistred user!

我用的是DELPLHI 5.0+SQL SERVER 7.0 FOR NT 我用 SQL 语句增加纪录
'insert Newtable ...'所增加的纪录有时Ttable 控件修改不了,
一 Post 就报错 'couldn't perform the edit because
another user changed the record'。 当然没有 another user!刷新一千遍也没有用.而且用Delplhi 的 SQL Explorer 也修改不起来。但用SQL 语句能修改。这种情况发生的概略好象还比较大。
 
是没有另一个用户,是系统的另一个线程干的。
控制SQL数据库尽量不要用TTable,问题多多,我深有体会,多用TQuery吧
 
将你的Table.UpdateMode设置为upWhereChanged试试。
 
不是又有后台的sql语句(比如trigger中)修改了key field吧?
 
绝对不是系统的另一个线程干的。我把服务器关了一个月,再打开还是这个情况。
也不是KeyField 的事情

 
定义表的时候有主码吗?(primary key)
 
试试下列方法之一:
(1).定义primary key
(2).UPDATE BDE to 5.1.1
(3).给delphi 5打patch #1
 
我曾经用TADOQuery、TADOTable做过:
1、用TADOQuery修改数据库表,改完后Active设为false.
2、TADOTable->Active = false;
TADOTable->Active = true;
3、用TADOTable作其他操作。
 
多人接受答案了。
 
后退
顶部