C#通过连接MDF方式实现连接数据库

主要是连接串的问题,下面这个连接里是找到生成的连接串,然后程序里的实现方式如下:


        private void Form1_Load(object sender, EventArgs e)
        {
            db db1=new db();
            lbl1.Text = db1.ReadSTR();
        }

public  List<Info> ReadInfo()
        {
            List<Info> infos = new List<Info>();
            _basePath = System.Environment.CurrentDirectory;
            string ip_path = _basePath + @"\App_Data\testDb1.mdf";
            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 conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\testDb1.mdf;Integrated Security=True;User Instance=False"))
            using (SqlConnection conn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\App_Data\testDb1.mdf;Integrated Security=True;User Instance=True"))
            {
            //if (File.Exists(ip_path))
            //{
            //    String connectionString = String.Format(
            //       // "Data Source={0};database = testDb1;uid=sa;pwd=sa",
            //       "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\testDb1.mdf;Integrated Security=True;User Instance=True",
            //        ip_path
            //    ); 
                try
                {
                //SqlConnection conn = new SqlConnection(connectionString);
                SqlCommand cmd = new SqlCommand("SELECT * FROM INFO", conn);
               
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Info info1 = new Info();
                        info1.ID = " ID:"+ reader.GetValue(0).ToString();
                        info1.NAME = " NAME:"+reader.GetValue(1).ToString();
                        infos.Add(info1);
                    }

                    conn.Close();
                }
                catch (Exception ex)
                { ;}
            }
            return infos;
        }

转自:https://blog.csdn.net/hotmee/article/details/52459959

一直以来都是链接SQL Server数据库服务但是在部署时将很麻烦,所以突发奇想,直接连接到MDF文件,刚开始还很混乱不会连接,后来向导,连接MDF文件不就和连接ACCDB数据库一样吗?

方法如下:如下为连接字符串“ Data Source=(LocalDB)\v11.0;AttachDbFilename="F:\数据库 - 副本.mdf";Integrated Security=True;Connect Timeout=30”

注意:要链接的MDF文件不可以在使用否则连接不成功。

如何生成这个连接字符串呢?

打开VS有个数据源

选择添加新数据源--数据库--数据集--新建连接--更改数据源为Microsoft SQL Server数据库文件

然后浏览到MDF文件,然后点测试连接(如果没有LDF文件会弹出个错误,并自动生成LDF文件,但不影响使用)

然后点击左下角的“高级”,粉色的AttachDbFileName是Mdf文件的位置。

红色的就是链接字符串啦

然后单击确定就好啦。

最后附上实际的CS代码:

           

            connString = "Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename =\"" + Environment.Cur

猜你喜欢

转载自blog.csdn.net/jing_xin/article/details/81067718