http://zhidao.baidu.com/question/238398277.html
在VS中用VB语言编写的程序代码如下:
'建立与Access连接子函数
Private Function getAccessConnection() As OleDbConnection
Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0:Data Source=|DataDirectory|\MyAccess.mdb;Persist Security Info=true"
Dim dbConnection As OleDbConnection = New OleDbConnection(dbConnectionString)
Try
dbConnection.Open()
Catch Ex As Exception
MsgBox(Err.Description)
End Try
Return dbConnection
End Function
Private Sub fillDataGridView()
Dim sqlStr As String = "select * from Table"
Dim DataAdapter As New OleDbDataAdapter
Dim dataSet As New DataSet
Dim DataGridView As New DataGridView
Dim dbConnection As OleDbConnection = getAccessConnection()
If dbConnection.State.ToString = "Closed" Then
MsgBox(Chr(13) & " access 数据库连接失败 " & Chr(13), , "警告")
Exit Sub
End If
DataAdapter.SelectCommand = New OleDbCommand(sqlStr, dbConnection)
Try
DataAdapter.Fill(dataSet, "Table")
DataGridView.DataSource = dataSet.Tables("Table").DefaultView
Catch Ex As Exception
MsgBox(Err.Description)
Finally
dataSet.Dispose()
DataAdapter.Dispose()
dbConnection.Close()
dbConnection.Dispose()
End Try
End Sub
'与Access连接
Private Sub ConnectAccess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConnectAccess.Click
getAccessConnection()
End Sub
还有,怎么知道是否连接成功?
精彩回答
2011-03-17 02:02
ew DataSet();
try
{
string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\test.xls;Extended Properties='Excel
8.0;HDR=YES;IMEX=1'";
OleDbConnection oleCon = new OleDbConnection(strCon);
oleCon.Open();
OleDbDataAdapter oleDA = new OleDbDataAdapter("select * from [sheet$]", oleCon);
oleDA.Fill(ds);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + ex.Source + ex.InnerException);
}
报错:未在本地计算机上注册 “Microsoft.Jet.OLEDB.4.0”提供程序。System.Data
需要注意的问题和解决方法:
1.Microsoft.Jet.OLEDB.4.0不要写成 Miscrosoft.Jet.OLEDB.4.0,;
2.Data Source不要写成“Data Sourse”,
3.检查是否安装了Office
4.重新安装注册 MDAC28.exe (一般你的vs安装目录里有或者到微软的官方网站上下)
(这个地址是一个朋友给的)
5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器-> 平台->点击Any Cpu选项卡->新建->新建平台->X86
-------------------------------
此方法的前提是, 你书写的 ConnectionString 是正确的, 形如:
Provider=microsoft.Jet.Oledb.4.0;Data Source=;Jet Oledb:Database Password=xxx;
如果此时,提示 “找不到提供者” 或 “未正确安装”, 原因是JET 4.0的 DLL在注册表中的信息, 由于某种原因被损坏或丢失,解决方法如下:
开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车。
建议重启一下,问题即可解决。
/////////////////////////////////////////////////
附上:Jet 4.0 Service Pack 8 下载地址
Jet 4.0 Service Pack 8 (SP8) for Windows 95 / 98 / NT 4.0
快速描述
Microsoft Jet 4.0 Service Pack 8 (SP8) 提供对 Microsoft Jet 4.0 数据库引擎的最新更新。请立即下载,以便获取整合了 Microsoft Jet 4.0 的 Microsoft 产品使用的几个文件的最新版本