黑马程序员技术交流社区

标题: AttachDBFileName的问题 [打印本页]

作者: 小石    时间: 2011-11-16 09:51
标题: AttachDBFileName的问题
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\MyDB.mdf;Integrated Security=True;User Instance=True")和
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=F:\ASPNET\1115\登录练习1\MyDB.mdf;Integrated Security=True;User Instance=True")里面AttachDBFileName的路径这个有什么区别的?为什么有时候会出现 项“AttachDBFileName”的值无效的问题
作者: 黄威    时间: 2011-11-16 10:40
两条连接语句没有什么本质的区别,
AttachDBFilename=|DataDirectory|\MyDB.mdf 通过程序自动获取MyDB.mdf数据库的绝对路径,应在Program.cs文件中添加一段代码,winForm是没法识别DataDirectory的
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);
            }
AttachDBFilename=F:\ASPNET\1115\登录练习1\MyDB.mdf 这样写是对的,但是有缺点,如果你的数据库改变了位置,就得修改连接语句
作者: 小石    时间: 2011-11-16 14:29
黄威 发表于 2011-11-16 10:40
两条连接语句没有什么本质的区别,
AttachDBFilename=|DataDirectory|\MyDB.mdf 通过程序自动获取MyDB.mdf ...

添加那个代码我知道 老师强调很多遍了
关键是那两个写法有什么区别 为什么会有 项“AttachDBFileName”的值无效这个问题
谢谢解答{:3_57:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2