我试图创建一个允许用户编辑数据库中的值的表单。我的代码运行时没有错误
这是调用方法
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(); }
}
为什么它没有更新?
答案 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)