连接数据库database公共类类
实例如下
右键->添加->新建项目->类->
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace _28_CRM_System
{
class database
{
SqlConnection con;//创建连接对象
/*建立数据库连接主要是通过SqlConnection类来实现,并初始化数据库连接字符串,然后通过State属性判断连接状态,如果数据库连接状态为关,则打开数据库连接。实现打开数据库连接的Open方法的代码如下:*/
private void open()//开启连接数据库
{
if (con == null)//连接数据库是否为空
{//创建数据库连接对象server=服务器;database=数据库名称;user=用户名;pwd=密码
string constr = "server=.;database=CRM_database;user=sa;pwd=qwerty196872";
con = new SqlConnection(constr);
}
if (con.State == System.Data.ConnectionState.Closed) //判断数据库连接是否关闭
{
con.Open();//打开数据库连接
}
}
private void close()//关闭数据库
{
if (con != null) //判断连接对象是否不为空
con.Close();//关闭数据库连接
}
//创建SqlCommand方法
private SqlCommand createcommand(string sqlStr)
{
open();//打开
SqlCommand com = new SqlCommand(sqlStr, con);
return com;
}
public void runSql(string sqlStr)//执行SQL语句方法
{
SqlCommand cmd = createcommand(sqlStr);
cmd.ExecuteNonQuery();//执行
close();//关闭数据库
}
public int runSqlInt(string sqlStr)//统计执行语句
{
SqlCommand cmd = createcommand(sqlStr);
int t = (int)cmd.ExecuteScalar();
close();
return t;
}
public SqlDataReader runSql(string sqlStr, out SqlDataReader dr)
{
SqlCommand cmd = createcommand(sqlStr);
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
//将DataReader对象转换成DataTable对象方法
public DataTable ConvertDataReaderToDataTable(SqlDataReader datareader)
{
DataTable dt = new DataTable();
DataTable schemaTable = datareader.GetSchemaTable();
try {
foreach (DataRow myRow in schemaTable.Rows)
{
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
dt.Columns.Add(myDataColumn);
}
while (datareader.Read())
{
DataRow mydataRow = dt.NewRow();
for (int i = 0; i < schemaTable.Rows.Count; i++)
{
mydataRow[i] = datareader[i].ToString();
}
dt.Rows.Add(mydataRow);
mydataRow = null;
}
schemaTable = null;
datareader.Close();
return dt;
}
catch(Exception ex) { throw new Exception("转换出错",ex); }
}
}
}