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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张云静 中级黑马   /  2012-5-15 20:58  /  1714 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我用的Visual Studio 2010旗舰版,SQL SERVER 为2005。
这是我ADO.NET连接数据库的代码

连接不成功出错了

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

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

评分

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

查看全部评分

8 个回复

倒序浏览
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);
            }

评分

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

查看全部评分

回复 使用道具 举报
要插入语句一般需要使用这一段代码,这个需要插在主函数中,是要指向你想要的数据库:
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"))

评分

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

查看全部评分

回复 使用道具 举报
database 应该是数据库的名称。。不用带后缀名

评分

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

查看全部评分

回复 使用道具 举报
王卫 发表于 2012-5-15 22:23
Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security= True;U ...

下面的代码我添加了,上面的试过,连接不成功,我在安装SQL的时候是用户名登录,上面的代码是Windows身份验证
回复 使用道具 举报
谢栋文 发表于 2012-5-16 07:50
database 应该是数据库的名称。。不用带后缀名

我把后缀名去掉了,database=Database1;出现的错误还是一样。
是不是应该先把我在VS创建的Database1的数据库附加到SQL Server2005中,可是附加不上去,会出现图3的错误,说是版本不匹配
回复 使用道具 举报
亲 右键数据库的 属性 就能得到连接字符串  再试试这个

评分

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

查看全部评分

回复 使用道具 举报
张云静 发表于 2012-5-16 08:30
我把后缀名去掉了,database=Database1;出现的错误还是一样。
是不是应该先把我在VS创建的Database1的数 ...

你看看你的数据库的用户名和密码是不是写错了,VS2010创建的数据库是SQL Server 2008的,你把数据库换成SQL Server 2008就可以附加上了
回复 使用道具 举报
如果没装SQL2008的话,应该是版本问题,把2005升级到2008吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马