程序不更新数据库

时间:2015-04-25 13:48:23

标签: c# sql

我试图创建一个允许用户编辑数据库中的值的表单。我的代码运行时没有错误

这是调用方法

private void BTNSavePool_Click(object sender, EventArgs e)
    {
        RWCStatTracker.Database.CLSDB.EditPool(TXTEditPool.Text, CMBBXSearchPool.SelectedItem.ToString());
        CMBBXSearchPool.Text = "Please select a Pool....";

        MessageBox.Show("Pool edited", "Alert");
        this.FRMEditPool_Load(this, null);
        PNLEditPoolSearch.Show();
    }

这是我的数据库连接类

中的代码
public static void EditPool(String OldName, String NewName)
    {
        string UPDTStmt = "UPDATE TBL_Pool SET Name = @NewName WHERE Name = @OldName";
        SqlConnection conn = GetConnection();
        SqlCommand UPDTCmd = new SqlCommand(UPDTStmt, conn);
        UPDTCmd.Parameters.AddWithValue("@NewName", NewName);
        UPDTCmd.Parameters.AddWithValue("@OldName", OldName);

        try { conn.Open(); UPDTCmd.ExecuteNonQuery(); }
        catch (SqlException ex) { throw ex; }
        finally { conn.Close(); }
    }

为什么它没有更新?

2 个答案:

答案 0 :(得分:1)

很可能WHERE子句没有选择任何记录。

它可能包含空格:"Smith ""Smith"不匹配,或者可能区分大小写:"Smith""smith"不匹配。

检查数据是否有空格和字符串修剪参数。

答案 1 :(得分:-1)

我刚刚弄清楚它的问题,参数的顺序错误

public static void EditPool(String OldName, String NewName)

应该是

public static void EditPool(String NewName, String OldName)