0

我被要求更新旧的 VB.net 应用程序,虽然我已经完成了部分工作,但在将行添加到数据库表之前,我很难实施验证检查以确保行不存在。下面是我的代码。我以为我让它工作了,但它只是传递给我的 else 语句。我想将下拉列表中的两个值传递给参数,然后检查指定列中是否存在带有这些参数的行。

Private Sub joinValidation(ByVal source As Object, ByVal e As EventArgs)
    Using connection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("System_Configuration").ConnectionString)
        Using cmd As SqlClient.SqlCommand = connection.CreateCommand()

            cmd.CommandText = "SELECT 1 FROM Join_Connection WHERE Alias1ID = @Alias1Check AND Alias2ID = @Alias2Check"
            cmd.Parameters.AddWithValue("@Alias1Check", Datasource1.SelectedValue)
            cmd.Parameters.AddWithValue("@Alias2Check", Datasource2.SelectedValue)
            cmd.Connection.Open()
            Dim exists As String = cmd.ExecuteScalar().ToString()
            If exists = "1" Then
                Response.Write("<script language='javascript'>alert('This Alias already exists in the Alias table.');</script>")
                cmd.Connection.Close()
            ElseIf exists = "0" Then
                addJoin()
                joinResetPage()
            End If
        End Using
    End Using
End Sub

我对 VB.NET 不是很熟悉,因此我们将不胜感激任何帮助或建议。

4

1 回答 1

1

试试下面的代码可能对你有帮助:

 Private Sub joinValidation(ByVal source As Object, ByVal e As EventArgs)
        Using connection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("System_Configuration").ConnectionString)
            Using cmd As SqlClient.SqlCommand = connection.CreateCommand()

                cmd.CommandText = "SELECT count(1) FROM Join_Connection WHERE Alias1ID = @Alias1Check AND Alias2ID = @Alias2Check"
                cmd.Parameters.AddWithValue("@Alias1Check", Datasource1.SelectedValue)
                cmd.Parameters.AddWithValue("@Alias2Check", Datasource2.SelectedValue)
                cmd.Connection.Open()
                Dim exists As Integer = 0
                Integer.TryParse(Convert.ToString(cmd.ExecuteScalar()), exists)
                If exists > 0 Then
                    Response.Write("<script language='javascript'>alert('This Alias already exists in the Alias table.');</script>")
                    cmd.Connection.Close()
                Else
                    addJoin()
                    joinResetPage()
                End If
            End Using
        End Using
    End Sub
于 2013-11-13T19:50:45.693 回答