c#连接sqlserver
一、提前准备好数据库与数据
略
二、创建项目并引入命名空间
1. 创建一个项目(这里以控制台应用为例)
建议创建以 .NET Framework 为框架的项目,否则可能会出现“找不到类型名“SqlConnection“”这样的错误,原因为没有使用 .NET Framework 框架的项目默认没有引入和SQL相关的命名空间
2. 引入相关命名空间
using System.Data; // 表的命名空间
using System.Data.SqlClient; // 和SQL相关的命名空间
在NuGet直接下载安装即可引用成功
三、使用ADO.NET访问数据库
1. 配置连接信息
对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。
SqlConnection类的对象连接SQL Server数据库;OracleConnection 类的对象连接Oracle数据库;OleDbConnection类的对象连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接任何支持ODBC的数据库。与数据库的所有通讯最终都是通过Connection对象来完成的。
我们就可以使用如下两种方式连接数据库,即采用集成的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为指定的用户口令。
2. 进行数据库连接
using System;
using System.Collections.Generic;
using Dapper;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Diagnostics;
namespace c_project.utils
{
public class SqlConnect
{
public void test()
{
// 方法二
string ConStr = "server = localhost; Database = jxcsystem;"
+ "Trusted_Connection = SSPI";
// 创建连接
SqlConnection SqlCon = new SqlConnection(ConStr);
// 打开数据库
SqlCon.Open();
// 1、创建要执行的SQL语句
string str = "select * from goods_info";
// 2、创建用于执行SQL语句的对象
SqlCommand SqlCom = new SqlCommand(str, SqlCon);
// 3、执行SQL语句并接受结果
SqlDataReader Sdr = SqlCom.ExecuteReader();
// 4、读取结果的数据
while (Sdr.Read())
{
Trace.WriteLine("编号:" + Sdr["goods_id"].ToString());
Trace.WriteLine("姓名:" + Sdr["goods_name"].ToString());
}
// 关闭数据库
SqlCon.Close();
Console.ReadKey();
}
}
}