Microsoft SQL Server2014安装、创建数据库实例、创建表及C#简单使用


1、安装

介绍Microsoft SQL Server 2014 数据库在Windows系统(以Win7 64位为例)的安装方法:

在执行安装过程前首先需要下载Microsoft SQL Server 2014的安装程序,目前官方提供的安装程序版本包括Enterprise Edition、Express、Express with Advanced Services、Express with Tools、LocaldB、Management Studio几种类型,针对的操作系统有32位和64位。这里介绍Enterprise Edition中文版的安装方法。

安装过程

参见以下博客: 

因为产品密钥我选的是Express项,博客后面的某些安装步骤可以跳过。

sql server 新建表 插入数据 sql server创建新表_Server


注:实例名很重要,这涉及到后面c#中的数据库连接字符串书写,我这里实例是SQLEXPRESS,计算机名GCC-PC。

连接字符串:

string connectionStr = @"server=GCC-PC\SQLEXPRESS;database=DataBase1;uid=sa;pwd=ZXCVbnm1";

2、创建数据库

在建立用户数据库前,采用SQL Server 2014 Management Studio(SSMS)数据库工具进入SQL SERVER2014;

步骤:开始-所有程序-Microsoft SQL Server 2014文件夹-SQL Server 2014 Management Studio。

sql server 新建表 插入数据 sql server创建新表_Server_02


sql server 新建表 插入数据 sql server创建新表_Server_03


在上图的界面新建用户数据库。

建立用户数据库过程参见以下博客: 


包括内容:

(1)新建用户数据库

(2)向用户数据库中添加数据库文件

(3)创建数据表

(4)向表中插入数据建立数据库表过程参见以下博客: 


包括内容:

(1)表中字段的常用数据类型

(2)主键约束

(3)外键约束

(4)CHECK约束

(5)数据库关系图

建立外键约束时如图:主键表中的列项一般为该表的主键约束,如表Student中的StudentNo为该表(Student)的主键约束。Result表中的StudentNo设置为外键约束。例子:Student中的StudentNo没有学号1130时,Result中的StudentNo如果有学号1130时Result会报错,将无法保存该行数据。

sql server 新建表 插入数据 sql server创建新表_sql server 新建表 插入数据_04

3、与C#的使用

c#要访问数据库,要求:

(1)保证数据库为开启状态。检查数据库运行状态过程:

步骤:开始——所有程序——Microsoft SQL Server 2014——配置工具——SQL Server 2014 配置管理器。找到SQL Server 服务——SQL Server(SQLEXPRESS)查看状态。右键将已停止改为正在运行。

sql server 新建表 插入数据 sql server创建新表_sql server 新建表 插入数据_05


(2)保证TCPIP已启动:

步骤:SQL Server 2014 配置管理器,找到SQL Server 网络配置协议(32位)——SQLEXPRESS的协议——TCP/IP状态为已启用

sql server 新建表 插入数据 sql server创建新表_sql server 新建表 插入数据_06


(3)开启远程连接:如果外网想要访问本地的数据库,就必须在数据库上允许远程连接,如果是程序和数据库 都在本机,采用本地访问,就不需要这步。

https://jingyan.baidu.com/article/dca1fa6fa5fc07f1a540527a.html

SQL Server 2014数据库远程访问设置方法

sql server 新建表 插入数据 sql server创建新表_SQL_07


sql server 新建表 插入数据 sql server创建新表_Server_08


sql server 新建表 插入数据 sql server创建新表_数据库_09


sql server 新建表 插入数据 sql server创建新表_SQL_10


sql server 新建表 插入数据 sql server创建新表_SQL_11


(4)打开VS2017,需要添加命名空间(不需要添加dll):

using System.Data;

using System.Data.SqlClient;

C#代码如下例如:

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

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection conn= null;
            try
            {
                string connectionStr = @"server=GCC-PC\SQLEXPRESS;database=DataBase1;uid=sa;pwd=ZXCVbnm1";
                conn = new SqlConnection(connectionStr);
                SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM student", conn);
                SqlCommandBuilder bulider = new SqlCommandBuilder(adapter);
                DataSet dataset = new DataSet();
                conn.Open();
                adapter.Fill(dataset, "Student");
                DataRow newRow = dataset.Tables["Student"].NewRow();
                foreach (DataRow dr in dataset.Tables["Student"].Rows)
                {
                    Console.WriteLine(dr["name"]);
                    Console.WriteLine(dr["age"]);
                    Console.WriteLine(dr["email"]);
                    Console.WriteLine(dr["sex"]); 
                }
                adapter.Update(dataset, "Student");              
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
            }
            Console.ReadKey();
        }
    }
}

sql server 新建表 插入数据 sql server创建新表_sql server 新建表 插入数据_12

控制台结果:

sql server 新建表 插入数据 sql server创建新表_数据库_13


(5)connectionStr连接字符串含义:

string connectionStr = @"server=GCC-PC\SQLEXPRESS;database=DataBase1;uid=sa;pwd=ZXCVbnm1";
// server:GCC-PC\SQLEXPRESS(登入界面的服务器名称)
// database=DataBase1(数据库名称)
//采用Windows身份验证模式如下:uid=sa;pwd=ZXCVbnm1

登入界面的服务器名称见下图:

sql server 新建表 插入数据 sql server创建新表_SQL_14


C# 连接SQL Server数据库的几种方式:

使用如下两种方式连接数据库,即采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录。
1、集成的Windows身份验证语法范例
string constr = “server=.;database=myschool;integrated security=SSPI”;
说明:程序代码中,设置了一个针对Sql Server数据库的连接字符串。其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的,所以我们可以用.(或localhost)取代当前的计算机名。database表示所使用的数据库名(myschool)。由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可。

2、Sql Server 2005中的Windows身份验证模式如下:
string constr = “server=.;database=myschool;uid=sa;pwd=sa”;
说明:程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。数据库连接字符串是不区分大小写的。uid为指定的数据库用户名,pwd为指定的用户口令。为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连接字符串加密的方式提高程序的安全性。

3、Sql Server 2005中的Sql Server身份验证模式如下:
string constr = “data source=.;initial catalog=myschool;user id=sa;pwd=sa”;
说明:程序代码中data source 表示运行数据库对应的计算机名,initial catalog表示所使用的数据库名。uid为指定的数据库用户名,pwd为指定的用户口令。在本文中data source =GCC-PC\SQLEXPRESS;

(6)VS还有一种方法连接数据库,在你不确定程序是不是有错时采用该方法连接(下图所示):

步骤:工具——连接到数据库——选择数据源——microsoft SQL Server——继续;

sql server 新建表 插入数据 sql server创建新表_数据库_15


添加连接(下图所示)

服务器名=GCC-PC\SQLEXPRESS

身份验证=SQL Server验证(也可以选Window验证)

用户名=sa

密码=ZXCVbnm1(你自己定义的密码)

选择或输入数据库名称=DataBase1

确定就好了。

sql server 新建表 插入数据 sql server创建新表_Server_16

(7)报错:对于一个新手来说,第一次连接数据库报错往往是数据库连接配置或者数据库连接字符串的实例名不对造成。
如错误:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)
参考解决:
https://jingyan.baidu.com/article/f54ae2fc3dfedd1e92b8499a.html