winform数据库更新问题
最近接触.net
一遇到更新数据库的问题就实现不了,
虽然没系统学过ADO.net
然后就被狠狠的羞辱了
哪位大牛帮我看看这段代码为什么更新不了数据库
提示删除成功
数据库被没删除
以下是部分代码
private void dGVReceipts_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
string errMsg = Receipts_Delete(dGVReceipts.SelectedRows[0].Cells[11].Value.ToString());
MessageBox.Show("删除成功!");
}
public static string Receipts_Delete(string RecID)
{
string ErrorMsg = "";
ErrorMsg = ExecuteSQL("Delete from Receipts where ID='" + RecID + "'");
return ErrorMsg;
}
public static string ExecuteSQL(string SQL)
{
string errMsg = "";
SqlConnection sqlConn = new SqlConnection("Data Source=KCNQHd1458\\TFS_INSTANCE;Initial Catalog=Receipts;User ID=devtest;PWD=test123 ");
SqlCommand sqlComm = new SqlCommand();
sqlConn.Open();
sqlComm.Connection = sqlConn;
sqlComm.CommandText = SQL;
try
{
sqlComm.ExecuteNonQuery();
}
catch (SqlException ex)
{
errMsg = ex.Message;
}
return errMsg;
}
快下班了。晚上我回去看,如果您在指导下子 数据库更新应注意问题 感激不尽
------解决方案--------------------判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0
------解决方案--------------------dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()
这个值是什么?
sqlComm.ExecuteNonQuery(); 这里应该是
if( sqlComm.ExecuteNonQuery() == 0 )
{
errMsg = "没有需要删除的数据";
}
------解决方案--------------------你这个代码,怎么执行都会提示成功,因为你没有判断 errMsg 返回值,而是直接MessageBox.Show("删除成功!");
应该根据errMsg 的值,提示不同的信息
------解决方案--------------------判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0
------解决方案--------------------sqlComm.ExecuteNonQuery() 判断它的结构是否大于0