A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘建法 中级黑马   /  2012-4-25 10:00  /  1979 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘建法 于 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行,就是查看数据库中表的时候,还是没有插入的记录数 ,表中还是空的,当然我在表中已经关闭表重新打开了,但是用这个绝对的地址就能插入(用绝对的地址不用上面的所谓神奇字符串都行) 不知道 咱们这个神奇的代码在我这里错在了那里?
能不能给解释一下这个神奇字符串什么意思!

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

3 个回复

倒序浏览
神奇字符串
做了注释你自己看看能看懂不:
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); //以得到的新目录改变域属性

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
第二个获取的字符串连接有问题。。。
上面的高手已经说完了。呵呵。
回复 使用道具 举报
张林春 发表于 2012-4-25 17:11
第二个获取的字符串连接有问题。。。
上面的高手已经说完了。呵呵。

不会呀 !我执行了 没有问题的  if (dataDir.EndsWith(@"\bin\Debug")只是这个掉了一个"\"           
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马