如何在ASP.NET VB中选择和插入Microsoft Access数据库(accdb)

如何在ASP.NET VB中选择和插入Microsoft Access数据库(accdb),asp.net,vb.net,ms-access,Asp.net,Vb.net,Ms Access,大家好,我是asp.net新手,我想从数据库中选择数据并将数据存储在VB而不是C中的DataTable中,但我似乎不知道如何连接。有人能帮我连接access数据库吗?我迷路了,已经好几天了。如果不是,那没关系 谢谢你的阅读 布伦特 基本上,有两种方法可以做到这一点。 一种是使用ADO access数据库对象,它有一个初始向导,可以帮助您将access数据库连接到程序,并为控件设置数据源, 或者你可以使用System.Data.OLEDb我更喜欢这个,因为它可以让我更好地控制我的系统 Dim ac

大家好,我是asp.net新手,我想从数据库中选择数据并将数据存储在VB而不是C中的DataTable中,但我似乎不知道如何连接。有人能帮我连接access数据库吗?我迷路了,已经好几天了。如果不是,那没关系

谢谢你的阅读

布伦特


基本上,有两种方法可以做到这一点。 一种是使用ADO access数据库对象,它有一个初始向导,可以帮助您将access数据库连接到程序,并为控件设置数据源, 或者你可以使用System.Data.OLEDb我更喜欢这个,因为它可以让我更好地控制我的系统

Dim accessconn As New  _
System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & pathofAccessFile)
    Try
        accessconn.Open()
        MsgBox("Access succesfully connected")
        accessconn.Close()
        Return 0
    Catch ex As Exception
        accessconn.Close()
        MsgBox("There is something wrong with the path provided.")
    Return 1


    End Try
不过,您需要了解如何使用OLEDb类,所以这里有一些东西可以帮助您。

请注意OLEDbCommandExecute SQL字符串、OLEDBDataAdapter将数据从DB传输到Datagridview和OLEDBDataReader,我使用它从数据库中选择数据

也许为了帮助您更好地理解您的问题,下面是一个我如何使用DataReader类的示例:

  Public Sub AccesstoGridd(ByVal utos As String, ByVal pathh As String, ByVal gridd As DataGridView, ByVal ngalan As String)
    Dim accessconn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & pathh)
    Try


        Dim sqlutos As New System.Data.OleDb.OleDbCommand(utos, accessconn)
        Dim idcounter As Integer = 0

        accessconn.Open()
        Dim reader As System.Data.OleDb.OleDbDataReader
        reader = sqlutos.ExecuteReader
        While reader.Read
            idcounter = idcounter + 1
            gridd.Rows.Add(idcounter, reader(0), reader(1), reader(2), reader(3), reader(4), reader(5), ngalan)
        End While
        reader.Close()


        accessconn.Close()
    Catch ex As Exception
        accessconn.Close()
        MsgBox("There is something wrong with the Access file selected." & vbNewLine & ex.ToString, MsgBoxStyle.Exclamation, "MDB file unrecognized.")
    End Try

End Sub

告诉我们你到目前为止都做了些什么…你得到了什么错误或者什么不起作用了?它说它缺少所需的参数?比如???HomeleSusers是一个用户名和密码表吗?您有一个相当无用的查询。你所要求的内容与WHERE子句中的内容完全相同……你不需要查询你已经知道的内容,只要删除WHERE,你就会得到所有用户的列表。错误是否来自SQL查询的连接部分?我的魔法8球说的是SQL查询-您需要在字符串参数中添加记号:其中Username='&p_strUserNAME&'和Password='&p_Password&',但它仍然像一个愚蠢的查询Yok您有没有办法给我一个dataadapter和Datareader中的示例?使用您提供的代码,您只是没有调用类的函数,以便dataAdapter可以工作。另外,您也没有创建OLEDBCommand变量。看看我的编辑
  Public Sub AccesstoGridd(ByVal utos As String, ByVal pathh As String, ByVal gridd As DataGridView, ByVal ngalan As String)
    Dim accessconn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & pathh)
    Try


        Dim sqlutos As New System.Data.OleDb.OleDbCommand(utos, accessconn)
        Dim idcounter As Integer = 0

        accessconn.Open()
        Dim reader As System.Data.OleDb.OleDbDataReader
        reader = sqlutos.ExecuteReader
        While reader.Read
            idcounter = idcounter + 1
            gridd.Rows.Add(idcounter, reader(0), reader(1), reader(2), reader(3), reader(4), reader(5), ngalan)
        End While
        reader.Close()


        accessconn.Close()
    Catch ex As Exception
        accessconn.Close()
        MsgBox("There is something wrong with the Access file selected." & vbNewLine & ex.ToString, MsgBoxStyle.Exclamation, "MDB file unrecognized.")
    End Try

End Sub