插入SQL查询未执行

时间:2014-09-30 04:21:53

标签: sql insert executequery

我在我的计算机上进行编程并且工作正常 - 程序,数据库本身,插入数据库也正常工作。但是当我发布它并在另一台计算机上安装该程序时。它崩溃并且不执行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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

安装程序可以在这里找到 http://www-03.ibm.com/systems/power/software/i/access/windows_sp.html

问题解决了!