Đang chuẩn bị liên kết để tải về tài liệu:
Beginning C# 2005 Databases PHẦN 8
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
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 reader.Read Guid rowId Guid reader EnchantmentId string name reader Name as string reader.Close 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 cmd.Parameters.Add EnchantmentId SqlDbType.UniqueIdentifier .Value rowId cmd.Parameters.Add Name SqlDbType.VarChar 300 .Value name modified int rowsModified cmd.ExecuteNonQuery conn.Close Finally a message box is displayed noting the result of the modification Notify user. if rowsModified 1 Success. MessageBox.Show Row with Name value of name modified. Row modification report MessageBoxButtons.OK MessageBoxIcon.Information else Failure. MessageBox.Show Row modification failed. Row modification report MessageBoxButtons.OK MessageBoxIcon.Error 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