我查看了.net的说明文档,原来:
如果不加 @ 的话,你可能要这样写: "c://abc//mydb.mdb";
但如果在string 类型之前加个 @ ,你就可以这样写: @"c:/abc/mydb.mdb";
呵呵.或许这是ms$专为delphi程序员设的.
关于当前目录的问题,则有两个办法可行:
1.
string strCon=@"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=";
strCon+=@Directory.GetCurrentDirectory()+@"/mydb.mdb";
2.
string strCon=@"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=";
strCon+=@Environment.CurrentDirectory+@"/mydb.mdb";
1方法的 Directory.GetCurrentDirectory() 使用System.IO 命名空间.
2方法的 Environment.CurrentDirectory 则是使用System 命名空间.
以上是复杂的方法,更简单的办法是:
string strCon=@"Provider= Microsoft.Jet.OLEDB.4.0;Data Source=";
strCon+=@"mydb.mdb";
但其实以上的问题都不是问题,问题是.net的运行程序根本就不是在工程文件所在的
目录,而是在: 工程目录/bin/Debug 下 (调试阶段)
所以,只要把数据库copy到 工程目录/bin/Debug 目录下,就用以下这一句就ok了.
string strCon="Provider= Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb";
书上说的都是对的. 但这一点点细节也较让你烦的.
希望以后那些"水平高"得要出书的人说得明白一点.