Sql server 如何在vb.net中中断SQL命令

Sql server 如何在vb.net中中断SQL命令,sql-server,vb.net,Sql Server,Vb.net,陷入困境。我有一个txt文件,在禁用Internet连接时保存SQL命令。 事实上,在我的数据库表中,日期列上有一个主键。有时SQL命令被破坏(如图所示),SQL命令在特定日期循环。必须这样做,如果他无法发送命令,则跳过该命令并转到下一个命令 我的代码部分,将字符串作为SQL命令发送: If _DB.State = ConnectionState.Open Then Dim Massiv() As String = IO.File.ReadAllLine

陷入困境。我有一个txt文件,在禁用Internet连接时保存SQL命令。

事实上,在我的数据库表中,日期列上有一个主键。有时SQL命令被破坏(如图所示),SQL命令在特定日期循环。必须这样做,如果他无法发送命令,则跳过该命令并转到下一个命令

我的代码部分,将字符串作为SQL命令发送:

If _DB.State = ConnectionState.Open Then
                    Dim Massiv() As String = IO.File.ReadAllLines("C:\Components\Data.txt", System.Text.Encoding.Default)
                    For Each element In Massiv

                        _SQLcommandFromFiles = New SqlCommand(element, _DC)
                        _SQLcommandFromFiles.ExecuteNonQuery()
                    Next

您应该打开文件,然后逐行读取,并使用“try-catch”执行查询。

您应该用try-catch块将代码包围起来,如下所示

If _DB.State = ConnectionState.Open Then
                    Dim Massiv() As String = IO.File.ReadAllLines("C:\Components\Data.txt", System.Text.Encoding.Default)
                    For Each element In Massiv
                         Try
                            _SQLcommandFromFiles = New SqlCommand(element, _DC)
                            _SQLcommandFromFiles.ExecuteNonQuery()
                         Catch ex As Exception

                         End Try
                    Next

你的代码有问题。由于您选择不与我们共享相关代码,我们不可能告诉您该代码有什么问题。您是否分析了在何处以及为什么会生成这些残废的命令?首先,您不应该找到处理残废命令的解决方案,相反,您应该找到一个完全避免生成残废命令的解决方案。((而且因为我喜欢隐喻)实际上你要求自动修补轮胎洞,而不是完全避免穿过钉子。)@Horitsu感谢你的回复。我猜在我与数据库的连接重新连接时,SQL命令将错误的SQLCommand(没有我的数据)写入了我的txt文件。欢迎加入社区:)请确保在回答之前包含尽可能多的详细信息或代码快照!