这样该怎么做(100分)

  • 主题发起人 主题发起人 dongliang110
  • 开始时间 开始时间
D

dongliang110

Unregistered / Unconfirmed
GUEST, unregistred user!
做一个三层的修改数据的小程序(sqlserver+dbexpress);
a表表结构:
id int (自动加1)
name varchar(10)
old int
如果我用 select * from a 取数据时,在保存数据时出错提示id 为空。
如果我用 select name,old from a取数据是,保存能够成功,但是又有一个问题,如果增加两条相同的记录(name值相同)保存后再删除,则删除不掉该记录,谁能告诉我?
 
1 你的保存是怎么除理的?如果是批量提交的话用select * from a 可以的,如果是用参数提交就不行了。
2 直接用SQL语句删除。
 
奇怪了 我用的是 ADOQUERY 就没出现你的问题,我的字段被认出是 TAutoincField
 
用 select * from a 取数据,保存提交后Refresh一下。
 
对于自增字段,或有缺省值的,在插入新纪录后都要这样才能取得值。
 
Agree Fangyizhi
 
是的 我有 Refresh一下
 
客户端我用的是clientdataset 服务器端是sqlquery
to Fangyizhi 我保存时只用了applayupdates(-1).无怎么提交都报错。
用ADOQUERY是没有错误出现的。
 
你试试在C/S上有没有出错?
 
自增的字段不用你去做什么的,如果你保存时写明了反而会出错。所以你就当自增字段不存在这样去处理好了。好象是这样的。
 
在DELPHI中我用ADO的删除,有些问题,可能是DELPHI的问题。
因此我用,SQL语句中的删除,那一定可以帮你把那条语句删掉的!!
祝!你好运!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部