日期:2014-05-18  浏览次数:20678 次

sql记录无法删除,急急急急!!!
我现在想在asp页面上对sql数据库做如下的操作,在页面上通过 <select> </select> 来选择日期并提交到处理页,然后我想把表中关于提交的这一天所在月份的记录都取出来,我该怎么办阿?表中日期值的格式是2006-12-1、2006-12-20这样的,月份和日期前都不加0的格式,
还有就是我在sql企业管理器中直接删除记录的时候有些记录提示不能删除,说是什么“键列信息不足或不正确。更新影响到多行。”然后就返回了,一次一行或一次多汉都是这样删除不成功,但是我在sql命令窗口中用delete   条件是无法删除的那一天的记录,确可以成功删除,这是怎么回事阿?

------解决方案--------------------
select * from table_name where month(column_name) = 月份
------解决方案--------------------
如果你的表中有月份这一列的话,一楼的方法可以,
如果你的表中没有月份这一列只有日期, 那么把你当前 <select> 里取的日期值只取月份(用asp来处理),然后

select * from 表 where month(日期) = 月份值
------解决方案--------------------
delete 表名 where month(日期字段名)= 月份

月份整数类型
------解决方案--------------------
哪是因为你的表里面没有唯一的索引,导致里面有很多记录重复,所以删除会有问题,
可以先把表增加一列自动加一的id,然后怎么都好删除
------解决方案--------------------
hyrongg(视爱情为奢侈品) 说点道理,只要是你表没有唯一的索引.
当你在资源管理理直接打开表修改的时候,选择某一行删除的时候,因为出现重复的记录,引擎会报错,因为你只删除一条,而当你用脚本删除的话,他会一次性把所有重复的记录删除,因而不会出错.
------解决方案--------------------
我也碰到过,,这是因为你没有建好主键,里面有重复项,你执行删除时,系统不知道你删那一项,,,建议,删掉表,重建,把主键建好.....
------解决方案--------------------
说的很清楚了
键列信息不足或不正确。更新影响到多行。
---------
你有完全相同的行,当你在企业管理器删除有重复的数据时,sqlserver没办法确定你到底要删除的是哪行,你用代码删的话会把满足条件的都删除。