导入两个命名空间
using system.data;
using system.data.sqlclient;
定义数据库连接字符串
string connstring ="server=.; database=huawei; integrated security=true"; 或者 uid= ;pwd=;
创建连接对象
SQLconnection conn= new SQLconnection(connstring);
打开数据库连接
conn.open{}
检测数据库是否打开
if(conn.state==connectionstate.open){
console.writeline("打开了")
}
string sql="";
sql=string.format(" 这里面放SQL命令语句");
创建command对象
SQLcommand cmd=new SQLcommand(sql,conn);
检测是否成功
if(cmd.executenonqurey()>0){
console.writeline(" 数据增删改成功!")
}
执行SQL命令,返回datareader对象
sqldatareader reader=cmd.executereader();
while(reader.read()){
string name=reader["name"].tostring();
}
reader.close();
执行查询的命名
sqlcommand avgcmd=new sqlcommand(sql,conn)
string avg=avgcmd.executescalar().tostring();
关闭数据库
conn.close();
//创建数据库连接字符串
public static string connstring = "server=.;database=huawei;integrated security=true";
//数据库连接对象
public static SqlConnection conn = null;
//初始化数据库连接
public static void initconnction() {
//如果连接对象不存在,则创建连接
if (conn==null)
{
conn = new SqlConnection(connstring);
}
//如果连接对象关闭,则打开连接
if (conn.State==ConnectionState.Closed)
{
conn.Open();
}
//如果连接中断,则重启连接
if (conn.State==ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
}
//查询,获取datareader
public static SqlDataReader GetDataReader(string sqlstr)
{
initconnction();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
//CommandBehavior.CloseConnection 命令行为:当DataReader对象被关闭时,自动关闭占用的连接对象
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
//增删改操作
public static bool executenonquery(string sqlstr)
{
initconnction();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
int result=cmd.ExecuteNonQuery();
conn.Close();
return result>0;
}
//执行聚合函数
public static object executescalar(string sqlstr)
{
initconnction();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
object result = cmd.ExecuteScalar();
conn.Close();
return result;
}
public class DBHelper
{
public static string strConn = "Data Source=.;Initial Catalog=SuperKTV;Integrated Security=True";//连接字符串,通过数据库连接工具复制过来
/// <summary>
/// 适合查询select语句并返回表结果集
/// </summary>
/// <param name="sql">Select查询语句</param>
/// <returns>结果为表结果集</returns>
public static DataTable Select(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter dap = new SqlDataAdapter(sql, strConn);
dap.Fill(dt);
return dt;
}
/// <summary>
/// 使用增删改并返回是否有影响行数
/// </summary>
/// <param name="sql">增删改查询语句</param>
/// <returns>结果为true表示有影响行数,假表示没有影响行数</returns>
public static bool NoSelect(string sql)
{
SqlConnection c = new SqlConnection(strConn);
c.Open();
SqlCommand cmd = new SqlCommand(sql, c);
return cmd.ExecuteNonQuery() > 0;
}
}
}