黑马程序员技术交流社区

标题: ado.net中两种连接字符串为何不同 [打印本页]

作者: 刘建法    时间: 2012-4-25 10:00
标题: ado.net中两种连接字符串为何不同
本帖最后由 刘建法 于 2012-4-26 13:52 编辑

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);
            }
           /*string connection2=@"Data Source=.\SQLEXPRESS;AttachDbFilename='E:\c#\sql 1\sql 1\Database1.mdf';Integrated Security=True;User Instance=True"用这个绝对的地址就能插入数据到表中
*/
            string connectionstring = @"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True ";
            using (SqlConnection con = new SqlConnection(connectionstring))
            {
                 con.Open();
                 using (SqlCommand cmd = con.CreateCommand())
                 {
                    
                    cmd.CommandText = "Insert into name values ('hehe ')";
                    
                    int i= cmd.ExecuteNonQuery();
                    Console.WriteLine("插入成功,一共有{0}行受影响!",i);                    
                 }
            }                           
            Console.Write("当前的数据库已经打开");
            Console.ReadKey();

执行后,显示插入成功影响1行,就是查看数据库中表的时候,还是没有插入的记录数 ,表中还是空的,当然我在表中已经关闭表重新打开了,但是用这个绝对的地址就能插入(用绝对的地址不用上面的所谓神奇字符串都行) 不知道 咱们这个神奇的代码在我这里错在了那里?
能不能给解释一下这个神奇字符串什么意思!
作者: 海继峥    时间: 2012-4-25 10:22
神奇字符串
做了注释你自己看看能看懂不:
string dataDir = AppDomain.CurrentDomain.BaseDirectory;//获取基目录
              if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\")) //如果基目录是以\bin\debug,或者bin\release这2个目录结尾的话
              {
                  dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;//那么得到当前及目录的上2级目录的全称
                  AppDomain.CurrentDomain.SetData("DataDirectory", dataDir); //以得到的新目录改变域属性

作者: 张林春    时间: 2012-4-25 17:11
第二个获取的字符串连接有问题。。。
上面的高手已经说完了。呵呵。
作者: 刘建法    时间: 2012-4-26 13:51
张林春 发表于 2012-4-25 17:11
第二个获取的字符串连接有问题。。。
上面的高手已经说完了。呵呵。

不会呀 !我执行了 没有问题的  if (dataDir.EndsWith(@"\bin\Debug")只是这个掉了一个"\"           




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