首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform数据库更新有关问题

2012-04-27 
winform数据库更新问题最近接触.net一遇到更新数据库的问题就实现不了,虽然没系统学过ADO.net然后就被狠狠

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

热点排行