当我点击登录按钮时,它会在con.open()上显示错误

时间:2013-09-16 04:52:17

标签: .net vb.net

Public Class frmLogin
    Dim con As New SqlConnection("Data Source=.\sqlexpress;Integrated Security=True;database=F:\a\Super Market Management System\Super Market Management System\db_SuperMarket.mdf")

    Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load



    End Sub

    Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
        txtUsername.Clear()
        txtPassword.Clear()

    End Sub

    Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
        Me.Close()

    End Sub

    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click


        Dim a, b As String
        a = txtUsername.Text
        b = txtPassword.Text
        Dim flag As Integer = 0
        con.Open()
        Dim cmd As New SqlCommand("select * from tbl_Login", con)
        Dim rd As SqlDataReader
        rd = cmd.ExecuteReader()
        While (rd.Read())
            If (a = rd(0).ToString.Trim() And b = rd(1).ToString.Trim()) Then
                flag = 1
                Exit While
            Else
                flag = 0
            End If
        End While

        If (flag = 1) Then
            'MsgBox("Login Successfull", MsgBoxStyle.OkOnly, "Done")
            Me.Hide()


            Form1.Show()


        Else
            MsgBox("User Name or Password may be wrong.", MsgBoxStyle.Critical, "Error")
        End If
        con.Close()

    End Sub

    Private Sub txtPassword_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtPassword.KeyDown

        If (e.KeyCode = Keys.Enter) Then

            btnLogin_Click(sender, e)


        End If



    End Sub
End Class

2 个答案:

答案 0 :(得分:1)

请检查数据库的路径。在F:驱动后它应该是双斜线。还要添加try catch以查看您获得的确切错误。你应该在SO中检查连接错误问题,必须有很多帮助

答案 1 :(得分:0)

  

1.使用服务器资源管理器连接数据库并测试它..

     

2.如果成功(测试连接成功),复制该连接字符串并将其粘贴到您的代码中。

     

3.问题是你的连接字符串有问题。

     

4.如果它在这里工作,那么错误和堆栈跟踪就在这里..

详细步骤..

从服务器资源管理器连接到数据库

  

从“视图”菜单中,选择“服务器资源管理器”

     

在Server Explorer中,右键单击“数据连接”,然后选择“添加连接”。

     

如果这是您建立的第一个连接,则会出现“选择数据源”对话框。在“数据源”下,选择要连接的数据源类型,然后在“数据提供者”下,为您正在使用的应用程序选择适当的提供者。最后点击继续。

     

在“添加连接”对话框中,输入所需的信息。

     

选择“高级”按钮以打开可以为所选提供商更改的设置列表。

     

选择“测试连接”以在不关闭对话框的情况下检查连接。这样,如果连接不成功,您可以对设置进行调整。   单击确定。

     

您的连接将显示在“数据连接”节点下的“服务器资源管理器

     

将其复制并粘贴到您的代码中..