最近接触.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;
        }      快下班了。晚上我回去看,如果您在指导下子 数据库更新应注意问题 感激不尽

解决方案 »

  1.   

    判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0
      

  2.   

    dGVReceipts.SelectedRows[0].Cells[11].Value.ToString()这个值是什么?sqlComm.ExecuteNonQuery();   这里应该是
    if( sqlComm.ExecuteNonQuery() == 0 )
    {
      errMsg = "没有需要删除的数据";
    }
      

  3.   

    你这个代码,怎么执行都会提示成功,因为你没有判断 errMsg  返回值,而是直接MessageBox.Show("删除成功!");应该根据errMsg  的值,提示不同的信息
      

  4.   

    判断删除成功与否应该看ExecuteNonQuery的返回值是否大于0
      

  5.   

    sqlComm.ExecuteNonQuery() 判断它的结构是否大于0
      

  6.   

    你们说的狠让我信服 sqlComm.ExecuteNonQuery(); 0 它真的是0.
    但是
    dGVReceipts.SelectedRows[0].Cells[11].Value.ToString() 非静态的字段、方法或属性“mustbereceipts.Form1.dGVReceipts”要求对象引用
    请问 我这该怎么写呢
      

  7.   

    好吧,大牛就是大牛,我表示我已经可以吧sqlComm.ExecuteNonQuery() 整成1 
    事实上也把数据库的内容删除了 
    但是我很困惑 就是#2 给我提这个问题 
    dGVReceipts.SelectedRows[0].Cells[11].Value.ToString() 
    这句话各个参数代表什么意思?哪位好心人给我指点一下,尤其是他的参数, 0  11代表什么意思呢?