当前位置 : 首页 » 互动问答 » 正文

如何连接到MDF数据库文件?

分类 : 互动问答 | 发布时间 : 2012-01-19 21:08:05 | 评论 : 7 | 浏览 : 91140 | 喜欢 : 14

我正在尝试首次将C#应用程序连接到MDF数据库,我需要一些帮助。

我在Visual Studio 2010中创建了一个小型MDF数据库文件,然后创建了另一个项目并将文件导入项目本身。

我不是试图通过代码连接到MDF文件。这里是我正在使用的代码:

 namespace DBtestApp1
{
    公共部分类Form1:表格
    {
        公共Form1()
        {
            的InitializeComponent();
        }
        System.Data.SqlClient.SqlConnection con;
        private void Form1_Load(object sender,EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString =“DataSource =。\\ SQLEXPRESS; AttachDbFilename = SampleDatabase.mdf; Integrated Security = True; Connect Timeout = 30; User Instance = True”;
            con.Open();
            MessageBox.Show(“Connection opened”);
            con.Close();
            MessageBox.Show(“Connection closed”);
        }
    }
}

当我运行应用程序时,我在定义连接字符串的行中得到异常,异常在堆栈顶部显示此消息:

 System.ArgumentException:不支持关键字:'datasource' 。

有人能指出我正确的方向吗?

回答(7)

  • 1楼
  • 数据源

    之间添加空格con.ConnectionString = @“Data Source =。\ SQLEXPRESS;
                              AttachDbFilename = C:\文件夹\ SampleDatabase.mdf;
                              综合安全=真;
                              连接超时= 30;
                              用户实例=真“;
  • 2楼
  • string sqlCon = @“Data Source =。\ SQLEXPRESS;” +
                    @“AttachDbFilename = | DataDirectory目录| \ SampleDB.mdf;
                    综合安全=真;
                    连接超时= 30;
                    用户实例=真“;
    SqlConnection Con = new SqlConnection(sqlCon);
    

    文件路径应该有 | DataDirectory |,它实际上链接到“当前项目目录\ App_Data \”或“当前项目目录”并获取.mdf文件.....将.mdf放在其中任何一个地方并且应该在visual studio 2010中工作。当你在生产系统上使用独立应用程序时,那么可执行文件所在的当前路径应该有.mdf文件。

  • 3楼
  • 转到服务器资源管理器>您的数据库>右键单击>属性> ConnectionString并复制连接字符串并复制到connectiongstring代码:)

  • 4楼
  • 对于Visual Studio 2015,连接字符串为:

    “Data Source =(localdb)\ MSSQLLocalDB; AttachDbFilename = | DataDirectory | Database1.mdf; Integrated Security = True”
  • 5楼
  • 。服务器= \的SQLExpress; AttachDbFilename = C:\ mydbfile.mdf;数据库= dbname;开发Trusted_Connection =是;
  • 6楼
  • SqlConnection con = new SqlConnection(@“Data Source =。\ SQLEXPRESS; AttachDbFilename = E:\ Samples \ MyApp \ C#\ bin \ Debug \ Login.mdf; Integrated Security = True; Connect Timeout = 30; User Instance = True”) ;
    

    这对我有用......有没有办法缩短路径?喜欢

     SqlConnection con = new SqlConnection(@“Data Source =。\ SQLEXPRESS; AttachDbFilename = \ bin \ Debug \ Login.mdf; Integrated Security = True; Connect Timeout = 30; User Instance = True”);
  • 7楼
  • 替代解决方案,您可以将数据库放在解决方案中所需的文件夹中。这对我有用:

     .ConnectionString(@“Data Source = LocalDB)\ MSSQLLocalDB;
                        AttachDbFilename =“+ AppDomain.CurrentDomain.BaseDirectory +”Folder1 \\ Folder2 \\ SampleDatabase.mdf“+”;
                        综合安全=真;“)

相关阅读:

MySQL's now() +1 day

How do I make calls to a REST api using C#?

What is the best way to implement a "timer"?

Converting string format to datetime in mm/dd/yyyy

Convert HTML to PDF in .NET

Sorting rows in a data table

Best way to read a large file into a byte array in C#?

Strange Characters in database text: Ã, Ã, ¢, â‚ €,

How can I tell what edition of SQL Server runs on the machine?

How do I limit the number of rows returned by an Oracle query after ordering?