下列範例示範如何明確設定 DataAdapter 的 UpdateCommand,以更新已修改的資料列。請注意,UPDATE 陳述式中 WHERE 子句指定的參數是設定為使用 SourceColumn 的 Original 值。這一點相當重要,因為 Current 值可能已經修改,而不符合資料來源中的值。Original 值是用來從資料來源填入 DataTable 的值。
// Assumes connection is a valid SqlConnection.SqlDataAdapter dataAdpater = new SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", connection);dataAdpater.UpdateCommand = new SqlCommand("UPDATE Categories SET CategoryName = @CategoryName " +"WHERE CategoryID = @CategoryID" , connection);dataAdpater.UpdateCommand.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15, "CategoryName");SqlParameter parameter = dataAdpater.UpdateCommand.Parameters.Add("@CategoryID", SqlDbType.Int);parameter.SourceColumn = "CategoryID";parameter.SourceVersion = DataRowVersion.Original;DataSet dataSet = new DataSet();dataAdpater.Fill(dataSet, "Categories");DataRow row = dataSet.Tables["Categories"].Rows[0];row ["CategoryName"] = "New Category";dataAdpater.Update(dataSet, "Categories");
全站熱搜
留言列表