提示"键列信息不足或不正确",怎么办啊?

china2004 2004-10-13 10:35:04
我用ADO删除数据时,如果数据库中有重复得记录就会报错,说"键列信息不足或不正确,更新影响到过多的行",如果没有重复的记录就没事,我在删除时加了"ado.Recordset.Delete adAffectCurrent"参数也不行,这是怎么回事?有什么办法解决?
是不是直接可以用sql语句来删除数据库表中的全部记录啊?如何写啊?
...全文
312 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghujin 2004-10-25
  • 打赏
  • 举报
回复
楼上几个说的都没错,
但俺补充一下,主键当然是一定要的,但即使
主键已经设置,也有可能出现楼主的问题。
关键是你的查询语句里一定要包含这条查询语句用到
的所有的表的主键(即使这个主键在你的实例里没有作用和意义)。
不然还有可能出现这样的问题。
饮水需思源 2004-10-18
  • 打赏
  • 举报
回复
在表中增加一自动递增的列再试试
mouxinbo 2004-10-18
  • 打赏
  • 举报
回复
数据库中每个表都应有关键字段,这是常识,好好检查你的数据库吧。
haohaohappy 2004-10-18
  • 打赏
  • 举报
回复
我在删除时加了"ado.Recordset.Delete adAffectCurrent"参数也不行,这是怎么回事?有什么办法解决?
-------------------------------------------------------------
在表里设立主键,并且不允许在表中出现完全相同的两条记录


是不是直接可以用sql语句来删除数据库表中的全部记录啊?如何写啊?
--------------------------------------

DELETE FROM TabelName
andyfr1210 2004-10-16
  • 打赏
  • 举报
回复
两行完全相同的数据引起的。
flyingZFX 2004-10-15
  • 打赏
  • 举报
回复
呵呵,你的数据没有主键是不行的。

你应该在你的数据表里添加一列“主键”就是自增ID的那种字段,

然后补齐ID,比如从1到1000,,这样的话,你的每一行数据就都是唯一的了,

你再删除就不会报错了。
xiaoxiaoP 2004-10-15
  • 打赏
  • 举报
回复
数据库设计问题,每个表应该有一字段作为主键,不能为空,不能重复,我以前刚用SQL server时做数据库不是很注意,吃了不少苦头。SQL server建表不设主键不提示。
feng_888 2004-10-14
  • 打赏
  • 举报
回复
是因为数据库中有相同的两行
在数据表中增加一列自动增长的列就可避免这种情况
china2004 2004-10-13
  • 打赏
  • 举报
回复
数据库连接设置好的!
lxcc 2004-10-13
  • 打赏
  • 举报
回复
DELETE FROM YourTabelName WHERE 条件

提示说 " 对象关闭是,操作不被允许"
//没有设置数据库连接,在ADODC的控件的右健选择属性...
china2004 2004-10-13
  • 打赏
  • 举报
回复
Adodc4.CommandType = adCmdText
Adodc4.RecordSource = "delete * from 统计 "
Adodc4.Refresh

提示说 " 对象关闭是,操作不被允许"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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