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

问题描述

抱歉,如果我在错误的部分发布了这个,我不知道这是如何工作的,而且我完全不适合编码。然而,我很热情,希望得到一些帮助。我会迅速回复你们可能有的任何问题,以便我提供更多信息。事不宜迟,这是我的代码。我将在下面解释这个问题。

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),我会及时回复任何问题以提供更多信息。谢谢各位码农!

标签: databasevb.netms-access

解决方案


您的代码缺少连接参数。检查需要提供连接的第 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

推荐阅读