为什么不能删除数据呢?

fwloveyou 2008-09-24 09:14:15
string deleteCmd="delete from tblbooks where BookID like '@bookid'";

cmd=new SqlCommand(deleteCmd,con);
cmd.Parameters.Add(new SqlParameter("@bookid",SqlDbType.Char,10));
cmd.Parameters["@bookid"].Value=this.TxtBookID.Text;
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功");

}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
cmd.Connection.Close();
}
this.TxtBookID.Text="";
this.TxtBookName.Text="";
this.TxtBookState.Text="";
}
这是在删除按钮里面执行的,提示删除成功,但是数据库里面还有,为什么啊,怎么修改一下呢?
...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的蜗牛007 2008-09-24
  • 打赏
  • 举报
回复
六楼正确
amandag 2008-09-24
  • 打赏
  • 举报
回复
string deleteCmd = "delete from tblbooks where BookID like @bookid"; 
cmd = new SqlCommand(deleteCmd,con);
cmd.Parameters.AddWithValue("@bookid", "%" + TxtBookID.Text + "%" );
消失的尘芥 2008-09-24
  • 打赏
  • 举报
回复
楼上正解
greystar 2008-09-24
  • 打赏
  • 举报
回复
like 好象不能用参数来实现的.
yangpeiyu 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]
string deleteCmd="delete from tblbooks where BookID like @bookid";
把单引号去掉试试
[/Quote]

。。。。。。。YES
我姓区不姓区 2008-09-24
  • 打赏
  • 举报
回复
另外最好再ExecuteNonQuery()方法执行完后返回它的受影响行数以确定是否删除成功
int result = cmd.ExecuteNonQuery();
if(result > 0)
MessageBox.Show("删除成功");
else
MessageBox.Show("删除失败");
我姓区不姓区 2008-09-24
  • 打赏
  • 举报
回复
string deleteCmd="delete from tblbooks where BookID like @bookid";
把单引号去掉试试

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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