问: C# 删除数据库中的信息时出现的有关问题
问: C# 删除数据库中的信息时出现的问题
代码如下:
运行完之后, 数据库中的信息,也相应地被删除了,
但我把 no 赋一个 数据库不存在的值的时候, select 一下, 刚才被删除的那条信息,又出现了,
Delete 没起作用,为什么会这样呢? 还是方法不对???
------解决方案--------------------
光看你的代码没有问题,是不是程序别的地方又给添加上了。
------解决方案--------------------
直接
delete GoodInfo where gNo = 'A006'
select * from GoodInfo where gNo = 'A006'
在数据库中执行下,看下结果
估计是你有触发器或有级联操作关系。。。
代码如下:
- C# code
SqlConnection conn = SqlConn(); string delStr = "delete GoodInfo where gNo = @no"; //删除命令语句 SqlCommand cmd = new SqlCommand(delStr, conn); //添加参数并赋值 //cmd.Parameters.AddWithValue("@no",no); //类型, 自动? cmd.Parameters.Add("@no", SqlDbType.NChar, 10); cmd.Parameters["@no"].Value = no; int result = -1; try { conn.Open(); result = cmd.ExecuteNonQuery(); //当 no = A006的时候,首次执行的时候,为什么会有两行受影响? Console.WriteLine(result + "行受影响\n"); } catch (Exception e) { Console.WriteLine("错误: " + e.Message); } finally { conn.Close(); //关闭与数据库的连接 } return result;
运行完之后, 数据库中的信息,也相应地被删除了,
但我把 no 赋一个 数据库不存在的值的时候, select 一下, 刚才被删除的那条信息,又出现了,
Delete 没起作用,为什么会这样呢? 还是方法不对???
------解决方案--------------------
光看你的代码没有问题,是不是程序别的地方又给添加上了。
------解决方案--------------------
直接
delete GoodInfo where gNo = 'A006'
select * from GoodInfo where gNo = 'A006'
在数据库中执行下,看下结果
估计是你有触发器或有级联操作关系。。。