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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡嘉 中级黑马   /  2013-2-16 11:09  /  1769 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蔡嘉 于 2013-2-19 08:40 编辑

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 第一个mdf
{
    class Program
    {
        static void Main(string[] args)
        {
            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);
            }
            SqlConnection conn = new SqlConnection(@"Data Source=.\;AttachDBFilename=|DataDirectory|\Database1.mdf;
            Integrated Security=True;");
            conn.Open();
            Console.WriteLine("打开数据库连接成功!!!");
            Console.ReadKey();
        }
    }
}

百度以后依然无法解决,为了不浪费时间,只好求助大家了。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

7 个回复

倒序浏览


SqlConnection conn = new SqlConnection(@"server=.;database=数据库名;uid=登录用户名;pwd=登录密码");  用这个

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 蔡嘉 于 2013-2-16 13:28 编辑
王立 发表于 2013-2-16 11:20
SqlConnection conn = new SqlConnection(@"server=.;database=数据库名;uid=登录用户名;pwd=登录密码"); ...


using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 第一个mdf
{
    class Program
    {
        static void Main(string[] args)
        {
            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);
            }
            SqlConnection conn = new SqlConnection(@"server=.;database=Database1.mdf;uid=sa;pwd=******");
            conn.Open();
            Console.WriteLine("打开数据库连接成功!!!");
            Console.ReadKey();
        }
    }
}

可是为什么在Management Studio里用sa方式登录成功,在vs2012里却依然报错呢???
我装的是sqlserver2008,显示错误:无法打开登录所请求的数据库Database1.mdf。而且在visual studio 2012 的project文件夹里找不到Database1.mdf,这是为什么呢?明明在vs2012里创建了和保存了Database1.mdf,但是文件夹里没有。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
  手动连接测试下用vs看看能连接成功吗
回复 使用道具 举报
蔡嘉 发表于 2013-2-16 13:22
using System;
using System.Collections.Generic;
using System.Data.SqlClient;

SqlConnection conn = new SqlConnection(@"server=.;database=Database1.mdf;uid=sa;pwd=******");

楼主你这里的 database=Database1.mdf 不对吧,database是数据库,你后面跟个mdf是什么东西?


SqlConnection conn = new SqlConnection(@"Data Source=.\;Initial Catalog=Database1;User ID=sa;password=*****");   

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
pokemon 发表于 2013-2-16 18:35
SqlConnection conn = new SqlConnection(@"server=.;database=Database1.mdf;uid=sa;pwd=******");

楼 ...

Database1.mdf 是一个mssql数据库文件,咱们连接的是sql这个服务,并不是这个文件!我们通过服务对这个文件进行操作.
回复 使用道具 举报
蔡嘉 中级黑马 2013-2-17 10:15:12
7#
王立 发表于 2013-2-16 17:57
手动连接测试下用vs看看能连接成功吗

测试连接是成功的!

QQ截图20130217101317.png (55.65 KB, 下载次数: 19)

QQ截图20130217101317.png
回复 使用道具 举报
蔡嘉 中级黑马 2013-2-19 08:48:34
8#
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 第一个mdf
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SqlConnection conn = new SqlConnection(@"Data Source=.; Initial Catalog=master;User Id=sa;Password=******;"))
            {
                conn.Open();
                Console.WriteLine("打开数据库连接成功!!!");
                Console.ReadKey();
            }
        }
    }
}

QQ截图20130219084554.png (19.48 KB, 下载次数: 19)

QQ截图20130219084554.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马