黑马程序员技术交流社区
标题:
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