当前位置:  开发笔记 > 编程语言 > 正文

在成功插入VB.NET时获得sqlexception

如何解决《在成功插入VB.NET时获得sqlexception》经验,为你挑选了1个好方法。

我正在尝试使用VB.NET进行一个非常简单的INSERT.出于某种原因,我在每个插件上都遇到了SqlException.插入数据,但仍然得到以下内容:

违反PRIMARY KEY约束'PK_User'.无法在对象'dbo.Employee'中插入重复键.该语句已终止

当我签入SQL Management Studio时,会成功插入数据.

这是问题发生的代码

Try
    conn.Open()
    Dim insertSQL As String = "insert into Employee(uName, firstName, lastName,
        On_Switch, On_Phone) " + "values('" & uName & "', '" & firstName & "', '" _
        & lastName & "', '" & onSwitch & "', '" & onPhone & "')"
        Dim AddCom As SqlCommand = New SqlCommand(insertSQL, conn)

        If (AddCom.ExecuteNonQuery() = 1) Then

            lblError.Text = "User Added."
            ' string urlBack = "../ViewAsset.aspx?DeptID=" + DeptID;
            ' Response.Redirect(urlBack);
        End If

        conn.Close()

    Catch ex As SqlException
        Dim ExMsg As String = ex.Message.ToString()
        lblError.Text = ExMsg

我回去并在C#中测试了相同的代码,并且没有抛出Exception.它似乎是我在VB中做的小事,但我迷失了它是什么.



1> Mitchel Sell..:

作为旁注,我强烈建议更改为参数化查询,以防止SQL注入的风险,即您当前的代码不受保护.

对于错误问题,我会检查您的代码是否在VB版本中没有被调用两次.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有