2009年9月29日 星期二

針對SqlCommandBuilder再進一步的使用

使用SqlCommandBuilder,新資料可以整筆新增,但若已存在且有修改的資料,並不會寫回至資料庫中,必須設下列指令才可達成,刪除亦同理作法。

SqlCommandBuilder builder = new SqlCommandBuilder(cmdSQL);
builder.RefreshSchema();

cmdSQL.UpdateCommand = builder.GetUpdateCommand();
cmdSQL.UpdateCommand = new SqlCommand("UPDATE TableName SET Field2=@para2 WHERE Field2=@para2;", usrcn);

cmdSQL.UpdateCommand.Parameters.Add("@para1", SqlDbType.NVarChar,50, "Field");

cmdSQL.UpdateCommand.Parameters.Add("@para2",SqlDbType.NVarChar,50, "Field");
cmdSQL.Update(ds_base, "Table");

注意:SqlCommandBuilder資料來源一定要有primary key欄位值

參考網址:http://msdn.microsoft.com/zh-tw/library/system.data.sqlclient.sqldataadapter.updatecommand(VS.80).aspx