C#连接连接Access程序代码:--------------------------------------------------------------------------------using System.Data;
using System.Data.OleDb;......string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb";OleDbConnection objConnection=new OleDbConnection(strConnection);......objConnection.Open();
objConnection.Close();...... --------------------------------------------------------------------------------解释: 连接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;......string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb";OleDbConnection objConnection=new OleDbConnection(strConnection);......objConnection.Open();
objConnection.Close();...... --------------------------------------------------------------------------------解释: 连接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数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍
<%@Import Namespace="System.Data.OleDb"%>
第二步:和asp一样,连接数据库要先写出来连接数据库用的字符串,这个字符串里面包括你所用的数据库类型,路径等参数。下面便是一个用于连接数据库的字符串的例子。string strConnection="Provider=Microsoft.Jet.OleDb.4.0;DataSource=";strConnection+=Server.MapPath("ssln.mdb"); //ssln.mdb就是数据库的名字我们定义了这个字符串以后就要定义一个oledbconnection来连接数据库了,下面给一个例子OleDbConnection conn=new OleDbConnection(strConnection);conn.Open(); //这里是调用 OleDbConnection类的open方法来打开数据库,我们对数据库进行操作之前 要先打开数据库,我们对数据库停止使用后要调用OleDbConnection类的close方法来关闭数据库,以防数据丢失 到这里我们已经实现了access数据库的连接,是不是非常简单。但到了这里你会有疑问,我只是连接了数据库,怎么对数据库进行操作呢?那就看我的第二篇文章,“asp.net对access数据库的操作”。
"Microsoft.Jet.OLEDB.4.0;",
"路径",
"xxx.mdb");
OleDbConnection conn = new OleDbConnection(sConnect);
conn.Open();
"Microsoft.Jet.OLEDB.4.0;",
"路径",
"xxx.mdb");
OleDbConnection conn = new OleDbConnection(sConnect);
conn.Open();
中数据库连接字符串的数据库路径。
好多人的web.config中的写法如下:
<appSettings>
<add key="OLEDBCONNECTIONSTRING" value="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=E:"web"App_Data"Data.mdb)"></add>
</appSettings>
程序中这样写:
MyConn = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"]); // 注释一下:VS2005和VS2003中的ConfigurationSettings写法不一样,具体区别自己查吧
这样程序运行时经常提示诸如以下的错误:
'C:"WINDOWS"system32"~"App_Data"Data.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 Data Source=~"App_Data"Data.mdb
就算用绝对路径正确,那么移植程序时还要去修改web.config,所以比较麻烦。
也有在web.config中使用象ASP那样的Server.MapPath取数据库路径的,但web.config不认识Server.MapPath,此方法也行不通。
后来通过摸索、参考其它程序,总结出如下方法,可以方便的移植程序路径而不必再去修改ACCESS数据库路径。
我在web.config中的写法如下:
<appSettings>
<add key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;data source="/>
<add key="dbPath" value="~/App_Data/mydata.mdb"/>
</appSettings>
程序中的数据访问类中我把"SQLConnString"和"dbPath"取出来连接成一个字符串"CONN_STRING_NON_DTC"
public static readonly string CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";";
End of《ASP.NET连接ACCESS数据库web.config内路径最优写法
帖子二web.config 配置access的相对路径
本人使用的是VS 2005,经过调试成功,具体如何实现,代码如下(VB.Net示例,C#方法一样,在这里就不用说了)
首先在web.config文件<appSettings>节点中加入如下代码:
<!--数据源-->
<add key="myds" value="Provider=Microsoft.Jet.OLEDB.4.0;Data source="/>
<!--数据库相对路径-->
<add key="myconn" value="App_Data"VinikeData.mdb"/>
然后,写个类文件,调用上面的定义,代码如下:
'定义一个连接字符串,难点就在这里,网上很多用到了Server.MapPath,但是还是不行,注意这里用到了Request.MapPath(相对asp来说,这是asp所没用的)
Public connstr As String = ConfigurationSettings.AppSettings("myds") + HttpContext.Current.Request.MapPath("~") + (ConfigurationSettings.AppSettings("myconn").Trim()) using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// Connection 的摘要说明
/// </summary>
public class Connection
{
public Connection()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection connAccess()
{
OleDbConnection conn = new OleDbConnection(GetConnString());
return conn;
}
private static string GetConnString()
{
return System.Configuration.ConfigurationSettings.AppSettings["ConnStr"] + System.Web.HttpContext.Current.Server.MapPath("~")+System.Configuration.ConfigurationSettings.AppSettings["DbPath"];
} }
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=数据库路径Data Source一定要有空格