從SQL Server中刪除行時,我在Asp.net中的C#代碼中遇到了一個小問題。我正在使用ExecuteNonQuery來確定我呈現給頁面的消息。如果ExecuteNonQuery返回1,則顯示成功消息。我陷入困境的地方是我有添加記錄和更新記錄的相同邏輯,我的代碼工作正常。請參閱下面的代碼。ExecuteNonQuery在成功刪除記錄時返回0值
private void Delete_row(string ImageId)
{
string sSQL = "delete FROM dbo.Image_library_UK_temp where Image_id=" + ImageId;
using (SqlConnection dbConnection = new SqlConnection(app_settings.sql_conn_string_db))
{
try
{
//delete the row from db
dbConnection.Open();
SqlCommand command = new SqlCommand(sSQL, dbConnection);
command.CommandType = CommandType.Text;
command.CommandTimeout = 1024;
command.ExecuteNonQuery();
int rowsAffected = command.ExecuteNonQuery();
if (rowsAffected == 1)
{
messagepanel1.ShowSuccessMessage("The image " + txtImgTitle.Text + "has been deleted from the system.");
DisableValidation();
}
}
catch (Exception ex)
{
messagepanel1.ShowErrorMessage("Error: Deletion unsuccessful");
}
Session.RemoveAll();
generateTable(false);
}
}
影響當前行,則返回0。這是一個簡單的SQL語句,所以我的SQL是硬編碼在C#中,我沒有使用存儲過程。
任何想法,我可以使這項工作?
你的代碼很容易出現SQL注入,這是一個非常嚴重的安全問題! – Yahia 2012-02-29 12:20:23
是否嘗試直接在sql服務器上運行查詢?它工作嗎? – Dilberted 2012-02-29 12:20:32
本網站僅供內部使用,否則我會同意。 – 2012-02-29 12:26:27