黑马程序员技术交流社区
标题:
ado.net中杨老师一直说的那段神奇的代码有没有人知道它们具体的意思啊。。
[打印本页]
作者:
李嫒
时间:
2012-6-26 13:18
标题:
ado.net中杨老师一直说的那段神奇的代码有没有人知道它们具体的意思啊。。
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("Datadirectory", dataDir);
}
作者:
刘玺
时间:
2012-6-26 13:36
如果不加这段代码,运行的时候改变的是Bin下的Debug下的数据库文件,而不是你现在编辑的数据库文件。
Datadirectory变量对应你在app.config下的连接数据库字符串。
通过这段代码改变了,改变了Datadirectory所代表的意义,把您要操作的数据库位置,改成了你现在运行的项目底下。
作者:
李嫒
时间:
2012-6-26 13:52
刘玺 发表于 2012-6-26 13:36
如果不加这段代码,运行的时候改变的是Bin下的Debug下的数据库文件,而不是你现在编辑的数据库文件。
Datad ...
哦,似乎明白了那么一点点。。。。呵呵,谢谢!!
作者:
赵力
时间:
2012-6-26 14:15
我看视频时候看了下帮助 觉得应该是下面这个意思 具体调用的那些方法 还不是很明白 ,你可以看Help Library.
//定义 字符串dataDir 赋值为当前 程序运行的目录
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
//判断这个目录是否在 bin目录下 (一般调试程序时候都会在Debug下运行)
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
//将我们建立的项目地址的赋值给dataDir
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
//为应用程序域Datadirectory分配指定值,后面调用时候默认就不是调用Debug下的数据库了。
AppDomain.CurrentDomain.SetData("Datadirectory", dataDir);
复制代码
作者:
戴伟
时间:
2012-6-27 21:25
默认情况下创建的数据库文件是在工程文件夹下的,而程序运行默认是在工程文件夹下的bin\debug或者bin\release文件夹下,所以需要用到神奇代码来查找数据库文件的路径所以倒数第二句意思是查找父目录的父目录中的数据库文件,并把路径赋给datadir
作者:
xiaozehope
时间:
2012-7-2 00:38
这段代码实在winfrom中才有用的,主要就是改变程序默认指向的数据库。没有那段代码你写的程序所跑的数据库是Bin下的Debug下的数据库文件,而不是你现在编辑的数据库文件,加了这段代码之后Datadirectory变量对应你在app.config下的连接数据库字符串,所有操作就是针对你想操作的数据库了。
作者:
许庭洲
时间:
2012-7-2 10:52
string dataDir = AppDomain.CurrentDomain.BaseDirectory;//将当前程序运行的目录赋值给dataDir
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))//判断该目录是否在 bin目录下的 Debug文件夹或者Release文件夹里面
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;//将新建立的项目地址的赋给dataDir
AppDomain.CurrentDomain.SetData("Datadirectory", dataDir);//为应用程序域Datadirectory分配指定值;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2