黑马程序员技术交流社区

标题: 尝试为文件 E:\,NETwinform练习Database1.mdf 附加自动命名的数据库,但失败。 [打印本页]

作者: 9881008杜鹏    时间: 2011-11-13 12:20
标题: 尝试为文件 E:\,NETwinform练习Database1.mdf 附加自动命名的数据库,但失败。
namespace DB登陆
{
    class Program
    {
        static void Main(string[] args)
        {
            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 );
            }

       using(SqlConnection conn = new SqlConnection(@"Data Source =.\SQLEXPRESS;AttachDBFilename = |DataDirectory|\Database1.mdf;Integrated Security= true ;User Instance=true"))   
            {
               
                conn.Open();
                using (SqlCommand com = conn.CreateCommand())
                {
                    com.CommandText = "insert T_Users(username,password) values('42161015','19881006zxc')";
                    Console.WriteLine("更新完毕");
                           }
            }
        }
    }
}
作者: 李荣壮    时间: 2011-11-13 12:56
不太明白你的意思  你不是已经在使用了Database1.mdf, 怎么还要附加

是不是说你不在解决方案中创建数据库,  而是手动附加?
如果是这样的话, 那你看下这段话的意思就知道了,
  1. using(SqlConnection conn = new SqlConnection(@"Data Source =.\SQLEXPRESS;AttachDBFilename = |DataDirectory|\Database1.mdf;Integrated Security= true ;User Instance=true"))   
复制代码
这句话就是把你在解决方案中创建的数据库文件, 附加到数据库中,
所以,你再手动附加一个数据库, 那么编译的时候就会出错了,
因为里面已经有一个Database1.mdf 文件了,
我没试过,  这只是我的理解, 你可以试下
作者: 9881008杜鹏    时间: 2011-11-13 21:23
感谢    !




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