tailieunhanh - Beginning C# 2005 Databases PHẦN 8
tùy thuộc vào nhu cầu của bạn. Các giải pháp đơn giản đòi hỏi nỗ lực ít hơn và ít thời gian hơn để thực hiện, nhưng có thể bị ảnh hưởng bởi ít chức năng và mạnh mẽ. Khác nhau, từ đơn giản đến phức tạp hơn, những lợi thế và bất lợi của một số các tùy chọn của bạn được mô tả ngắn gọn trong bảng sau đây. | Transactions and Concurrency The primary key and Name column are then retrieved from the obtained data reader and the reader is closed Guid rowId Guid reader EnchantmentId string name reader Name as string Next a command is created to modify the Name column for the retrieved row the string modified is added. After that the connection is closed because no further database access is required Modify row. SqlCommand cmd new SqlCommand UPDATE Enchantment SET Name @Name WHERE EnchantmentId SEnchantmentld conn EnchantmentId .Value rowId Name 300 .Value name modified int rowsModified Finally a message box is displayed noting the result of the modification Notify user. if rowsModified 1 Success. Row with Name value of name modified. Row modification report else Failure. Row modification failed. Row modification report Purely for the purpose of brevity this code doesn t include a lot of the error checking exception handling that you would normally incorporate for database access. When the application is run and the button is clicked a modification is made to the database. When a change is attempted on the same row using the data-bound DataGridView control the operation fails because optimistic concurrency detects that it would result in a loss of data. A DBConcurrencyException exception is thrown and because it is not handled the application crashes. 345 Chapter 9 Now that you have seen how to implement optimistic concurrency in database access it s time to look at how to deal with situations where violations occur including what to do when you receive a DBConcurrencyException exception. Concurrency Violations in Client Applications When a concurrency violation occurs in your application you have two options ignore it
đang nạp các trang xem trước