2
我正在使用ASP.Net將數據更新到SQL Server中。在ASP.Net中將數據更新到SQL Server的最佳做法是什麼
我只有一個cs文件,沒有aspx/ascx文件,所以我不會在這裏使用SqlDataSource控件。
下面是我的代碼:
string connStr = ConfigurationManager.ConnectionStrings["XXConnString"].ConnectionString;
SqlConnection conn = new SqlConnection(connStr);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
string query = @"exec dbo.XX_Insert_Announcement @AnnID ='" + id +
"', @AnnTitle ='" + title +
"', @AnnSubmitDateTime ='" + startDate +
"', @AnnProcessDateTime ='" + endDate + "'";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.ExecuteNonQuery();
conn.Close();
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
我覺得我的代碼是不是錯誤處理不夠好,如果查詢的執行失敗,沒有錯誤拋出,代碼繼續運行,而不更新到數據庫。
也許使用Using語句可以解決這個問題,如下面的代碼:
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
請發表評論,對什麼是最佳實踐的建議。
謝謝你提前。
不錯,但是還需要一個'使用'在'SqlCommand'周圍。 –
@John,謝謝你的糾正。 –
exec dbo.XX_Insert_Announcement看起來像一個存儲過程調用,所以我會將CommandType.Text更改爲CommandType.StoredProcedure –