DataDirectory
\\students.accdb 有关连接字符串,你可以到下面这个网站上看看: 这个网站上面可以找到各种各样数据库的连接字符串,资源丰富,相当值得收藏。 系统默认是不带Microsoft.ACE.OLEDB.12.0驱动程序的,你得到这里下载: 在连接.accdb文件时,一定要对上版本,如果你安装的引擎是32位的,应用程序应该生成为x86版本,如果安装的引擎是64位的,那么,你的应用程序应生成x64版本。 有大伙伴朋友一定会问了,那有没有办法判断系统是否带有特定的提供程序,如果没有,可提示用户安装?答案自然是肯定的,来来来,先看看这个例子。看代码: OleDbDataReaderreader=OleDbEnumerator.GetRootEnumerator(); DataTabletable=newDataTable(); table.Load(reader); dataGridView1.DataSource=table.DefaultView; 或者,可以这样: OleDbEnumeratorenumerator=newOleDbEnumerator(); DataTabledt=enumerator.GetElements(); dataGridView1.DataSource=dt.DefaultView; 这样一耍,就会把当前所支持的OLEDB的提供程序都列出来了。如下。 其中,SOURCES_NAME列就是提供程序的名称,所以,在程序代码中,只要检测一下你要的提供程序是否存在,就可以知道有没有安装相关的引擎了。 比如,下面代码验证一下当前运行环境是否可以连接.accdb文件。 stringaccdbPrd="Microsoft.ACE.OLEDB.12.0"; OleDbEnumeratorenu=newOleDbEnumerator(); DataTabledtprd=enu.GetElements(); //Linq varqr=fromrindtprd.AsEnumerable() wherer.Fieldstring("SOURCES_NAME")==accdbPrd selectr; if(qr.Count()==0) MessageBox.Show("唉,还没安装相关的提供程序。"); else MessageBox.Show("可以连接数据库了。");二、如何连接.accdb文件这个在上面说过了,只要把连接字符串中的Provider改为Microsoft.ACE.OLEDB.12.0就可以了,或者参考上面给的那个网站的信息,反正这个你都会的。三、关于
DataDirectory
占位符 DataSource设置的是数据库文件的路径,为了方便,通常会这样写:DataSource=
datadirectory
\\mydb.accdb。DataDirectory占位符是不区分大小写的。默认条件下,对于Web项目,datadirectory指向项目目录下的App_Data,这是ASP.NET的惯例,这里就不多介绍了。对于其他应用而言,datadirectory指向应用程序运行的目录,如果程序是在\bin\debug目录下运行,那么数据目录就是\bin\debug。 不过呢,datadirectory是可以更改的,下面例子把数据目录改为当前登录用户的“文档”目录。 stringdocpath=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); AppDomain.CurrentDomain.SetData("DataDirectory",docpath); 调用AppDomain的SetData方法就可以修改
datadirectory
占位符所指向的数据目录。现在我把.accdb文件放到我的用户名下的“文档”下,即C:\Users\myname\Documents。 接着连接字符串可以这样写: Provider=Microsoft.ACE.OLEDB.12.0;DataSource=
DataDirectory
\\pigstore.accdb 实际指向的文件路径为:C:\Users\myname\Documents\pigstore.accdb。好了,有用的东西就讲到这了,新梦想的同学们如果还有不懂的可以再问老师。主编主编邮箱:zhuyanan
new-dream.net新浪微博:新梦想软件测试-网址:哪家医院治愈白癜风那里治疗白癜风最好