Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未执行插入SQL查询_Sql_Insert_Executequery - Fatal编程技术网

未执行插入SQL查询

未执行插入SQL查询,sql,insert,executequery,Sql,Insert,Executequery,我在我的电脑上做编程,它工作得很好程序,数据库本身,插入数据库也工作得很好。但是当我发布它并在另一台计算机上安装程序时。它崩溃并且不执行INSERT命令 这是我的密码 Private Sub cmdBlank_Click(sender As System.Object, e As System.EventArgs) Handles cmdBlank.Click strTariff1 = txtPart1.Text & " " & txtPName1.Text & " "

我在我的电脑上做编程,它工作得很好程序,数据库本身,插入数据库也工作得很好。但是当我发布它并在另一台计算机上安装程序时。它崩溃并且不执行INSERT命令

这是我的密码

Private Sub cmdBlank_Click(sender As System.Object, e As System.EventArgs) Handles cmdBlank.Click
strTariff1 = txtPart1.Text & " " & txtPName1.Text & " " & txtQty1.Text & " " & txtU1.Text
strTariff2 = txtPart2.Text & " " & txtPName2.Text & " " & txtQty2.Text & " " & txtU2.Text
strTariff3 = txtPart3.Text & " " & txtPName3.Text & " " & txtQty3.Text & " " & txtU3.Text
strTariff4 = txtPart4.Text & " " & txtPName4.Text & " " & txtQty4.Text & " " & txtU4.Text
'strTariff5 = txtPart5.Text & " " & txtPName5.Text & " " & txtQty5.Text & " " & txtU5.Text

Call saveToDb()
frmreportax.Show()
End Sub

Private Function saveToDb()
    conn.Close()

    Dim cmdAdd, cmdCount, cmdAdd2 As New iDB2Command
    Dim sqlAdd, sqlCount, sqlAdd2 As String
    Dim curr1, curr2, curr3, curr4 As String
    Dim count As Integer

    conn.ConnectionString = str
    conn.Open()

    'Check for duplicate entry
    sqlCount = "SELECT COUNT(*) AS count FROM cewe WHERE transport=@transport AND blnum=@blnum"

    With cmdCount
        .CommandText = sqlCount
        .Connection = conn

        .Parameters.AddWithValue("@transport", frmPart1.txtTransport.Text)
        .Parameters.AddWithValue("@blnum", frmPart1.txtNo.Text)
    End With

    count = Convert.ToInt32(cmdCount.ExecuteScalar())

    If count <> 0 Then
        MsgBox("Duplicate Entry: " & frmPart1.txtTransport.Text, vbOKOnly + vbExclamation)
    Else

        sqlAdd = "INSERT INTO cewe (page) " & _
                    "VALUES (@page) "

        With cmdAdd
            .Parameters.AddWithValue("@page", Val(frmPart1.txtPage.Text))
            .CommandText = sqlAdd
            .Connection = conn
            .ExecuteNonQuery()
        End With
    end if


    cmdAdd.Dispose()
    cmdAdd2.Dispose()
    conn.Close()
end function

请告诉我我做错了什么?当我在我的电脑上运行并安装程序时,它工作得非常好。但是,当我在另一台电脑上运行/安装它时,它会在单击cmdBlank后崩溃。

可能有很多原因导致该问题,但首先要查看的是可能给出问题某些指示的任何错误日志或崩溃报告。尝试调试或记录以获得更好的图像。除此之外,下面还有一些小建议可能会有所帮助


另一台计算机是否可以访问您所指向的数据库?数据库连接是否指向本地主机?在这种情况下,您需要确保在新计算机的数据库服务器上设置了相同的凭据主机、用户名、密码、端口等。新计算机上是否安装了数据库驱动程序?这两台机器的根本区别是什么

AS400 iSeries DB2需要更新到版本6.xx.0800,并进行了调整

安装程序可以在这里找到


问题解决了

数据库连接可能存在问题,安装或配置可能会导致应用程序正常运行。通过应用程序记录异常\错误以了解问题的确切原因。如何记录异常\错误?请查看企业库的日志模块。或者您可以简单地将insert引发的异常详细信息记录在一个简单的文本文件中。hi!除了这个命令之外,我还有另一个从数据库检索数据的表单。我使用的是AS/400 iSeries DB2。它工作正常,数据从数据库中提取并显示在datagridview中。但是在这个特定的按钮中,它向数据库添加了一个新的数据。无论何时添加数据,或程序运行INSERT命令,应用程序都会突然崩溃。这只发生在测试pc上。它在我的pc上运行良好。我想这与驱动程序有关。你可以制作一个小程序,试着从测试箱连接,看看会发生什么。您还可以检查测试盒是否可以访问AS/400,但将按照以下顺序进行故障排除。检查驱动程序版本等,检查机器是否具有访问权限,编写小程序以获得访问权限。我认为该程序可以访问数据库,因为如果没有,则从数据库查看/获取记录时会出现问题。从那时起,它应该已经崩溃了。但它不会,它会显示所有记录。它还统计数据库中存在的记录数。我认为主要的问题是INSERT命令。我在哪里可以做这个?我的意思是我没有使用ADO.NET或DSN进行连接。这是我的连接字符串:导入IBM.Data.DB2.iSeries模块modCEWE Public conn作为新的IDB2连接Public str作为string=Datasource=10.0.1.11;UserID=edith;密码=伊迪丝;DefaultCollection=impexplib End modulei如果您使用的是真实数据,我建议您使用虚拟数据进行编辑。我不知道DB2上的任何权限,但您的原始IP用户是否具有相关权限?如果您确定这是在插入点发生的,则只能通过正确调试来确定这一点-在代码的数据检索部分设置断点,以确保检索到数据并相应地逐步执行。代码会在某个时候爆炸出来,但至少你会知道确切的位置。