我的问题是关于实现登录到SQL Server的页面,“ Adapter.Fill(Table)”中的错误

时间:2018-11-28 17:14:47

标签: database vb.net ms-access

对不起,如果我在错误的地方发布了此内容,我不知道这是如何工作的,并且对编码完全无知。但是,我充满热情,希望获得一些帮助。我会尽快回答您可能遇到的任何问题,以便我提供更多信息。事不宜迟,这是我的代码。我将在下面解释问题。

Imports System.Data.SqlClient
Imports System.Data

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim connection As New SqlConnection("Server = M's PC; Database = tyre_stocks_database_plain1.accdb; Integrated Security = true")

    Dim command As New SqlCommand("select * from Login_info where Username = @Username and Password = @Password", connection)

    command.Parameters.Add("@Username", SqlDbType.VarChar).Value = TextBoxUsername.Text.ToString()
    command.Parameters.Add("@Password", SqlDbType.VarChar).Value = TextBoxPassword.Text.ToString()


    Dim adapter As New SqlDataAdapter(command)

    Dim table As New DataTable()

    adapter.Fill(table)

    If table.Rows.Count() <= 0 Then
        MessageBox.Show("Username Or Password Is Invalid")

    Else

        MessageBox.Show("Login Successful")


    End If

End Sub
End Class

我遇到一个与“ adapter.Fill(table)”有关的错误。该程序指出:

“ System.Data.SqlClient.SqlException:'与SQL Server建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问该服务器。请验证实例名称是否正确以及SQL Server配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开与SQL Server的连接)'“

如果仍然不清楚,我将尝试创建一个登录页面,以允许用户“输入”,只要他们具有存储在数据库中的正确用户名和密码即可。

我通过检查数据库名称旁边的绿色插头符号来确保与Microsoft Access数据库的连接处于活动状态。如果有人能提供任何有关如何帮助的信息,我将不胜感激。请记住,我对编码非常陌生,因此,总的来说(如前所述:P),我将迅速回答任何问题以提供进一步的信息。谢谢其他编码员!

2 个答案:

答案 0 :(得分:-1)

您没有为适配器提供所需的连接。

Dim adapter As New SqlDataAdapter(command, connection)

答案 1 :(得分:-1)

您的代码缺少连接参数。检查需要连接的第15行。第二件事是检查您的连接字符串,它应该具有有效的服务器和数据库名称。

Imports System.Data.SqlClient
Imports System.Data

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim connection As New SqlConnection("Server = M's PC; Database = tyre_stocks_database_plain1.accdb; Integrated Security = true")

Dim command As New SqlCommand("select * from Login_info where Username = @Username and Password = @Password", connection)

command.Parameters.Add("@Username", SqlDbType.VarChar).Value = TextBoxUsername.Text.ToString()
command.Parameters.Add("@Password", SqlDbType.VarChar).Value = TextBoxPassword.Text.ToString()

Dim adapter As New SqlDataAdapter(command, connection)
Dim table As New DataTable()

adapter.Fill(table)

If table.Rows.Count() <= 0 Then
    MessageBox.Show("Username Or Password Is Invalid")

Else

    MessageBox.Show("Login Successful")


End If

End Sub
End Class