中易网

web怎么和access数据库连接

答案:1  悬赏:70  
解决时间 2021-01-15 00:12
  • 提问者网友:不爱我么
  • 2021-01-14 11:10
web怎么和access数据库连接
最佳答案
  • 二级知识专家网友:轻雾山林
  • 2021-01-14 12:13
ACCESS数据库是个文件来的,不用配置的了,在解决方案中添加你创建的ACCESS数据文件中,系统会提示你是否创建App_Data目录并将ACCESS文件添加到此目录中,选择"是"就可以了,再在程序中创建连接到此文件的连接字符串即可.(此文后面有在web.config中配置的方法)例如
String con = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");
然后就像用其它数据库一样用了.
完全示例:
C#连接Access程序代码:
usingSystem.Data;
usingSystem.Data.OleDb; stringstrConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"DataSource=C:\ASPNET\YouAccessData.mdb";
OleDbConnectionobjConnection=newOleDbConnection(strConnection);
//或
//stringstrConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + System.Web.HttpContext.Current.Server.MapPath("App_Data/YouAccessData.mdb");
objConnection.Open();
objConnection.Close();
解释:
C#连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的。
strConnection这个变量里存放的是连接数据库所需要的连接字符串,指定了要使用的数据提供者和要使用的数据源。
“Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的。
“Data Source=C:\BegASPNET\Northwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=MyDrive:MyPath\MyFile.MDB”。
PS:
1.“+=”后面的“@”符号是防止将后面字符串中的“\”解析为转义字符。
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
strConnection+="Data Source=";strConnection+=MapPath("Northwind.mdb");
3.要注意连接字符串中的参数之间要用分号来分隔。
“OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道。
“objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。
再来一个示例:
using System.Data.OleDb;
using System.Data;
//连接指定的Access数据库
String ConnString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=App_Data\YouAccessData.mdb";
//SQL语句
String SQLString ="select * from TestDB";
//创建一个OleDbConnection对象
System.Data.OleDb.OleDbConnection OleDBConn1 = new System.Data.OleDb.OleDbConnection(ConnString);
//创建一个DataSet对象
DataSet DataSet1 = new DataSet();
//创建一个OleDbDataAdapter对象
System.Data.OleDb.OleDbDataAdapter OleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter(SQLString,OleDBConn1);
//打开连接
OleDBConn1.Open();
//通过OleDbDataAdapter对象填充数据集
OleDbDataAdapter1。Fill(DataSet1,"TT");
另外是在web.config中如何使用access数据库连接了,估计就是所要的了:
一: 一种是通过使用 DataDirectory 目录的方法,但是 access 文件必须放在 ASP.NET 的特殊目录中,如 app_data ;
Data Source=|DataDirectory|db.mdb"/>
二:另外一种方法则比较灵活,具体方法是:在 web.config 文件中保存两个字符串,一个是驱动字符串,另一个是 access 文件的相对路径;
使用时用 Server.MapPath 来获取绝对路径然后组合出来的连接字符串就可以使用了;
在web.config中的写法如下:




程序中的数据访问类中我把"ConnStr"和"dbPath"取出来再连接成一个字符串
代码如下:
///
/// (静态)返回数据库连接串。
///

protected static string GetConnString()
{
return
System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]+ System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["dbPath"])+";";
}

三:直接写数据库的物理路径

providerName="System.Data.OleDb" />

注意:Data Source字符的写法一定要正确,否则可能会出现“找不到可安装的ISAM”的错误。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息