ADO.NET 数据库操作全解析
1. 错误处理与数据删除
当出现错误时,异常处理程序会在消息框中显示错误描述,然后清除编辑内容,并移动到列表框控件中所选的产品。用户可以选择上一行并再次编辑,了解是何种类型的错误阻止了数据集的更新。
若点击删除按钮,当前行将从数据集中移除(同时也会从列表框控件中移除,就像新行自动添加到该控件一样)。但产品在“订单详情”表中被引用,那么如何删除它们呢?要知道,数据集驻留在本地计算机上,且与数据库断开连接。由于数据集仅包含单个表,没有需要强制执行的关系,因此当你请求删除时,数据集会顺利移除该行。然而,当你尝试更新数据库时,情况就不同了。SQL Server 会坚决拒绝移除被其他表引用的行,更新操作将失败。例如,删除一行后点击“更新”按钮,你会收到一条错误消息,提示由于违反了“PK_Order_Details_Products”约束,该行无法被移除。
2. 处理标识字段
在应用程序中,如果添加一行,其“ProductID”字段将自动分配一个值。“ProductID”列是一个标识列,你无法手动设置它,必须由数据库管理系统(DBMS)分配值。数据集知道“ProductID”列是标识列,每次添加一行时,它会为其分配下一个可用的值。例如,如果最后一行的“ProductID”字段值为 90,那么你添加的第一行将被分配值 91,第二行将被分配值 92,依此类推。
但如果其他用户已经向表中添加了几行,会发生什么呢?再次运行应用程序,添加几行,然后切换到企业管理器。此时先不要更新数据库。在企业管理器中,向“产品”表添加几行。接着切换回应用程序并点击“更新”按钮,新行将被添加到基础表中。记录下新行的 ID,然后点击“加载”按钮
超级会员免费看
订阅专栏 解锁全文

899

被折叠的 条评论
为什么被折叠?



