發表文章

目前顯示的是 12月, 2007的文章

DataSet與並行違規

在VS2005中資料處理常常會用到DataSet,而DataSet的特性是會把資料從資料來源中取出之後放到Client端的記憶體中;而在資料處理完成之後要Update回資料庫,這時候如果資料來源中的資料跟當初我們撈出來的資料是不相符合的,也就是可能被其他使用者變更過了,這時候就會出現"並行違規"的錯誤訊息,那我們應該怎麼去處理這個錯誤呢? 下面介紹的是比較簡單的方式,會利用DataSet的Merge再一次的將資料合併,並且把變更Update回資料庫,感覺就是"後面的變更會蓋掉前面的",程式碼如下 Try Me.xxxTableAdapter.Update(Me.xxxDataSet.xxxDataTable) Me.xxxDataSet.xxxTable.AcceptChanges() MessageBox.Show("資料儲存成功") Catch dbex As Data.DBConcurrencyException If MessageBox.Show("資料可能經由其他使用者變更過,仍要更新嗎?", "更新錯誤", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then Try Using TempDS As New xxxDataSet.xxxDataTable Me.xxxTableAdapter.Fill(TempDS) Me.xxxDataSet.xxxDataTable.Merge(TempDS, True) Me.xxxTableAdapter.Update(Me.xxxDataSet.xxxDataTable) Me.xxxDataSet.xxxDataTable.AcceptChanges()

Expression Blend SP1

資料來源: http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=2491629&SiteID=14 Blend 的 Service Pack 1已經出了,有需要的朋友可以去看看,下面是相關連結 Microsoft Expression Blend Service Pack 1 Issues that are fixed in Expression Blend Service Pack 1