请问谁知道怎么在c#中进行数据库中的数据删除吗,我试了几段代码都不成功,既不报错也没反应。使用的数据库时sql server2005
我的代码是这样的:
private void ok_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(conn);
con.Open();
String str1;
if (dl != "")
{
str1 = "delete from 对象表 where 对象名称='" + dl + "')";
SqlCommand MyCommand = new SqlCommand(str1, con);
try
{
con.Open();
MyCommand.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
else
MessageBox.Show("不能输入空值!");
}
我的代码是这样的:
private void ok_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(conn);
con.Open();
String str1;
if (dl != "")
{
str1 = "delete from 对象表 where 对象名称='" + dl + "')";
SqlCommand MyCommand = new SqlCommand(str1, con);
try
{
con.Open();
MyCommand.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
else
MessageBox.Show("不能输入空值!");
}
{
MessageBox.Show("没有删除任何一行");
}
如果不报错的话估计是你的Sql语句已经正确执行了,有可能是你的Sql语句的对象名称写的不正确,楼主可以试试监听下sql语句
首先红色部分都一个右括号,删掉
str1 = "delete from 对象表 where 对象名称='" + dl + "'";还有前面已经 con.Open();后面又 con.Open();建议 con.Open();写在后面
去掉try catch调试,看看具体错误
把你的sql语句放Sqlserver查询分析器执行试试
{
con.Open();//删除
MyCommand.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
如果是这个问题,首先看看你的连接串是否正确,比如数据库有没有写错
如果上面没有问题,再看看你表的owner是谁,你连接串中的用户有没有操作这个表的权限。或者你在sql语句中加上owner
"delete from owner.table where 对象名称='" + dl + "'"