vb.net - 使用数据集结果执行非查询问题
问题描述
我有一个有趣的项目,其中涉及 VB.net winform 应用程序。此应用程序将数据集用于表单。Shift_Log (SL)、Problem_Log (PL) 和 Service_Request (SR) 将影响三个表。如果用户更改(SL)上的日志日期,使(PL)不再与错误时间一致。我需要从 (PL) 和 (SR) 表中删除外键。我还没有测试过这个。在我做之前我有几个问题。
如果在第二个 update (SR)sql 命令中没有要更新的记录怎么办?
执行此操作后是否需要刷新数据集。
Public Function UPD_PL_Check(ByVal Shift_Key As String, ByVal SL_Begin As DateTime, SL_End As DateTime) As Integer ' Get rows from Laser Status Info Dim query As String = "SELECT Status_Key FROM [dbo].[Laser_Status_Info] " & " WHERE [Shift_FKey] = " & Shift_Key & " AND [Err_time] NOT Between " & SL_Begin & " AND " & SL_End & ";" Dim dt As DataTable = New DataTable() Using conn As SqlConnection = New SqlConnection(My.Settings.LaserMaintLogConnectionString) conn.Open() Try Dim da As SqlDataAdapter = New SqlDataAdapter(query, conn) da.Fill(dt) Catch ex As Exception MessageBox.Show("Error occured! : " & ex.Message) Finally conn.Close() End Try End Using Dim rowsAffected As Integer = dt?.Rows.Count If rowsAffected = 0 Then Return rowsAffected ' Update the Problem log For Each i In dt?.Rows Using conn As SqlConnection = New SqlConnection(My.Settings.LaserMaintLogConnectionString) conn.Open() Dim Status_Key As String = dt.Rows(i)("Status_Key") Try Dim PL_query As String = "UPDATE [dbo].[Laser_Status_Info] " & " SET [Shift_FKey] = '' " & " WHERE [Status_Key] = '" & Status_Key & "';" Using Cmd As New SqlCommand(query, conn) rowsAffected = Cmd.ExecuteNonQuery() End Using Catch ex As Exception MessageBox.Show("Error occured! : " & ex.Message) End Try ' Update Service request Try Dim PL_query As String = "UPDATE [dbo].[Laser_Maint_Log] " & " SET [SR_Shift_Key] = '' " & " WHERE [SR_Status_Key] = '" & Status_Key & "';" Using Cmd As New SqlCommand(query, conn) rowsAffected = Cmd.ExecuteNonQuery() End Using Catch ex As Exception MessageBox.Show("Error occured! : " & ex.Message) End Try conn.Close() End Using Next Return rowsAffected
结束功能
解决方案
推荐阅读
- android - android 服务是否具有 `onSaveInstanceState` 等价物?
- debugging - 使用 rust-gdb 进行调试时,如何进入在返回值中调用的函数?
- amazon-cloudwatch - 如何将 cloudwatch 自定义指标发送到 Amazon Quicksight Dashboard
- android - 未处理的异常:MissingPluginException(在通道上找不到方法 ... 的实现 ...)
- haskell - 使用导出的符号
- azure - 使用 Azure Resource Graph 获取其他用户的资源
- python - pygame 混合器中的暂停功能不起作用
- typescript - TypeScript 中循环类型之间的映射
- javascript - 简化交集和析取的比较函数
- sql - SQL Server 重复结果三次