c#删除失败
我的代码:if (MessageBox.Show("确认删除?", "此删除不可恢复", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
string sql = "delete from worksheet where subject ='紧急异常'";
MySQLConnection conn = null;
conn = new MySQLConnection(new MySQLConnectionString("1.1.1.1", "test", "test", "test").AsString);
try
{
conn.Open();
MySQLCommand commn = new MySQLCommand(sql, conn);
int count = commn.ExecuteNonQuery();
if (count >0)
{
MessageBox.Show("删除成功!");
load();
}
else
{
MessageBox.Show("删除失败!");
}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
conn.Dispose();
}
}
执行后老提示删除失败,调试一看,count=0,不知道哪里错了,真让人头疼啊 --------------------编程问答-------------------- 你要删除的数据存在吗 不存在了当时是0啦 --------------------编程问答-------------------- 那样的数据库连接真的能用吗? --------------------编程问答-------------------- 跟踪一下看你代码有没正确执行啊。
如果执行了,看数据库中是否有相应数据。 --------------------编程问答-------------------- 在数据库里试一下delete from worksheet where subject ='紧急异常这个能成功不? --------------------编程问答-------------------- 数据库可连,要删除的subject也确实存在,只不过我发现好像where 条件下subject 不能接中文,英文的可删,奇怪了吧?
--------------------编程问答-------------------- delete from worksheet where subject ='紧急异常'
条件不满足,subject 字段的设置成nvarchar(),再试试 --------------------编程问答-------------------- 数据库是subject是varchar类型的,而且是正式的数据库,不方便更改类型,知识不懂为啥只能识别英文的数据? --------------------编程问答-------------------- ’紧急异常‘是不是后面有空格啊 数据库中 跟中文没啥关系 肯定是条件内容不对啦 --------------------编程问答--------------------
在sql中新建个查询执行
delete from worksheet where subject ='紧急异常'
看能成功码?
看看subject ='紧急异常'。。。前后是不是多了空格。。 --------------------编程问答-------------------- 觉得是sql语句的问题,调试一下,把语句放到数据库里执行一下试试。 --------------------编程问答-------------------- 试过了,在mysql数据库中可以查询出‘紧急异常'的数据,不存在空格,然后在执行程序 ,还是删除失败....。。。。。。。。。 --------------------编程问答-------------------- 立马将“紧急异常”换成英文,就可以删除 --------------------编程问答-------------------- 我的库中关于‘紧急异常’的重复数据有上千条,但每条的ID不同,这样有关系么? --------------------编程问答-------------------- 没关系。 --------------------编程问答-------------------- 第一,我没看懂你的数据库连接字符串
第二,你的表中可能不存在你要删除的那一条记录。 --------------------编程问答-------------------- 多调试下代码,比如检查下连接字符串,然后把需要sql文copy到查询分析器里面执行下,看可以成功不! --------------------编程问答-------------------- delete from worksheet where subject ='紧急异常'
改成
delete from worksheet where subject like'%紧急异常%'
你先备份一下数据,然后在数据库上试试 --------------------编程问答-------------------- delete from worksheet where subject =N'紧急异常'
汉字前面加个N试试 --------------------编程问答-------------------- 确认数据是否真正存在,不存在当然返回0 --------------------编程问答-------------------- delete from worksheet where subject =N'紧急异常'?
可以不用from 吗? --------------------编程问答--------------------
可以不用的!!! --------------------编程问答-------------------- 估计是数据库的编码问题。
补充:.NET技术 , C#