在C#访问SQL Server时,通常将访问SQL Server的连接封装起来。一方面是使用方便,另一方面也是提高安全性(对用户保密数据库的用户名和密码)。
创建DBConn类的dll库。
1、打开Visual Studio,创建类库
2、更改类型Class1.cs为SQLConn.cs
using System.Data.SqlClient;
namespace DBConn
{
public class SQLConn
{
/// <summary>
/// 创建连接数据库的方法
/// </summary>
/// <returns>返回连接</returns>
public SqlConnection OpenConn()
{
//创建连接
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "127.0.0.1";//其中,127.0.0.1或.或本机名均指的是本机
scsb.UserID = "***";//数据库用户名
scsb.Password = "***";//数据库密码
scsb.InitialCatalog = "student";//要连接的数据库名
//打开连接
SqlConnection conn = new SqlConnection(scsb.ToString());//参数:连接数据库的字符串
if (conn.State == System.Data.ConnectionState.Closed)//判断连接的开启状态,如果未连接是关闭的
conn.Open();//打开连接
return conn;
}
}
}
3、添加引用,右键引用-添加引用,
将DBConn.dll添加进来,
4、使用
public string Login(string user_id,string user_pwd)
{
//创建连接
SQLConn sqlConn = new SQLConn();//实例化连接SQL数据库的类的对象
SqlConnection conn = sqlConn.OpenConn();//调用对象中打开数据库的方法
//拼接T-SQL语句
string sqlStr = "SELECT * FROM userinfo WHERE id='" + user_id + "'AND pwd='" + user_pwd + "'";
SqlCommand comm = new SqlCommand(sqlStr,conn);//实例化SQLCommand对象
SqlDataReader dr = comm.ExecuteReader();//执行SQL语句,并接收返回受影响的行数
if (dr.Read()) //如果行数大于0,则说明用户名和密码没问题
{
dr.Close();
conn.Close();
return null;
}
else
{
dr.Close();
conn.Close();
return "用户名或密码错误";
}
}