[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

真觉得自己的知识面还是比较窄,在此之前,居然还不知道SqlLocalDb。

SqlLocalDb是啥?其实就是简化SQL Server的本地数据库,可以这样子说,SQL Server既可以作为远程,也可以做本地,

而SqlLocalDb只能作为本地使用。说的直接一点,SqlLocalDb就是一个轻量级的基于本地的T-SQL数据库,全称:SQL Server Express LocalDb。

好,废话不多说。

第一,怎么安装这个SqlLocalDb?

1)如果安装过Visual Studio 2015、2017,一般已经安装到了电脑里。

     这里以Visual Studio 2017为例,在Visual Studio Installer中的单个组件页面中,可以看到该组件已经被安装(红色框框部分):

    

2)或者到Visual Studio 2017安装包安装该组件:

     64位:

     

    32位:

    

3)到SQL Server下载中心下载SQL Server Express:https://download.microsoft.com/download/5/E/9/5E9B18CC-8FD5-467E-B5BF-BADE39C51F73/SQLServer2017-SSEI-Expr.exe

下载之后,打开该引用,并点击“下载介质”:

在弹出的页面中,选择LocalDB(第三个),点击下一步下载SqlLocalDB.msi

注:SQL Server 2016 Express LocalDB微软已经不再提供,目前为最新的,也就是以上的2017版本。

4)百度网盘下载:https://pan.baidu.com/s/12uKJ7IEE_45P0chOI4b39w

根据系统类型安装不同的SqlLocalDB。

第二、连接SqlLocalDB

1、打开Visual Studio 2017,依次点击“视图”(菜单栏)->“服务器资源管理器”,将会打开“服务器资源管理器”窗口:

2、右键点击“数据连接”,在弹出的上下文菜单中选择“添加连接”,在弹出的窗口中将“服务器名”设置为(LocalDb)\MSSQLLocalDB,如下图所示:

然后附加一个名称为MusicDBContext.mdf的数据库文件(文件可以自己定义)并点击确定,此时,MusicDBContext.数据库作为默认的数据库,我们可以选择SQLLocalDB中的其他已有数据库。

生成的连接字符串如下:

Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=C:\Users\CNC\Desktop\MusicDBContext.mdf;Initial Catalog=MusicDBContext;Integrated Security=True

我们可以将mdf文件的路径改为相对路径:

Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MusicDBContext.mdf;Initial Catalog=MusicDBContext;Integrated Security=True

第三,编写程序对已有数据的读取

如下代码所示:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = @"Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=MusicDBContext;Integrated Security=True";
            SqlConnection connection = new SqlConnection(connectionString);
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Musics",connection);
            DataTable table = new DataTable();
            adapter.Fill(table);
            var result = (from row 
                          in table.Rows.Cast<DataRow>()
                          select
                          new { ID = (int)row[0], Title = (string)row[1], ReleaseDate = (DateTime)row[2] });
            result.ToList().ForEach(x => Console.WriteLine($"{x.ID},{x.Title},{x.ReleaseDate}"));
        }
    }
}

运行结果如下:

  注:MusicDBContext.mdf可以在百度网盘下载,地址:https://pan.baidu.com/s/1zgkPLcetTo-XMNEH3-8FoQ

第四、一些关于SqlLocalDB的参考资料

https://docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/sql-server-2016-express-localdb?view=sql-server-2017
https://docs.microsoft.com/zh-cn/sql/2014/relational-databases/express-localdb-instance-apis/command-line-management-tool-sqllocaldb-exe?view=sql-server-2017
https://docs.microsoft.com/zh-cn/sql/2014/tools/sqllocaldb-utility?view=sql-server-2017
https://technet.microsoft.com/zh-cn/hh510202(v=sql.105)

 

posted @ 2018-08-22 15:03 cnc 阅读(...) 评论(...) 编辑 收藏
著作版权归 www.cnc6.cn 所有   粤ICP备17062562号