连接数据库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); }

}

}

}

(0)

相关推荐