黑马程序员技术交流社区

标题: 关于ADO.NET [打印本页]

作者: 张云静    时间: 2012-5-15 20:58
标题: 关于ADO.NET
我用的Visual Studio 2010旗舰版,SQL SERVER 为2005。
这是我ADO.NET连接数据库的代码

连接不成功出错了

把在VS2010创建的数据库附加到SQL SERVER 2005中时会出现错误

到底怎么办?请高手帮忙解决

作者: 王卫    时间: 2012-5-15 22:23
Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security= True;User Instance=true
你试一试 这个 连接 数据库----看看 行不----

还有 这个 代码 有没有 添加
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);
            }

作者: 王友伟    时间: 2012-5-16 00:13
要插入语句一般需要使用这一段代码,这个需要插在主函数中,是要指向你想要的数据库:
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 连接名 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=
|DataDirectory|\用户名.mdf;Integrated Security=True;User Instance=True"))

作者: 谢栋文    时间: 2012-5-16 07:50
database 应该是数据库的名称。。不用带后缀名
作者: 张云静    时间: 2012-5-16 08:24
王卫 发表于 2012-5-15 22:23
Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security= True;U ...

下面的代码我添加了,上面的试过,连接不成功,我在安装SQL的时候是用户名登录,上面的代码是Windows身份验证
作者: 张云静    时间: 2012-5-16 08:30
谢栋文 发表于 2012-5-16 07:50
database 应该是数据库的名称。。不用带后缀名

我把后缀名去掉了,database=Database1;出现的错误还是一样。
是不是应该先把我在VS创建的Database1的数据库附加到SQL Server2005中,可是附加不上去,会出现图3的错误,说是版本不匹配
作者: 杨礼文    时间: 2012-5-16 09:08
亲 右键数据库的 属性 就能得到连接字符串  再试试这个
作者: 朱亮辉    时间: 2012-5-16 16:52
张云静 发表于 2012-5-16 08:30
我把后缀名去掉了,database=Database1;出现的错误还是一样。
是不是应该先把我在VS创建的Database1的数 ...

你看看你的数据库的用户名和密码是不是写错了,VS2010创建的数据库是SQL Server 2008的,你把数据库换成SQL Server 2008就可以附加上了
作者: 谢栋文    时间: 2012-5-17 07:00
如果没装SQL2008的话,应该是版本问题,把2005升级到2008吧




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