特别是2个方法
ExecuteQuery和 ExecuteNonQuery里面的语句还不是很看了懂。
还有 private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
定义这3个是分别定义类为空吗?还是赋值后为空?
谢谢指教
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
public class SQLHelper
{
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
public SQLHelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
conn = new SqlConnection(connStr);
}
private SqlConnection getconn()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
}
///
/// 该方法执行传入的增删改SQL语句
///
/// 要执行的SQL语句
///
public int ExecuteNonQuery(string sql)
{
int res;
try
{
cmd = new SqlCommand(sql, getconn());
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return res;
}
///
/// 改方法执行传入的SQL查询语句
///
/// SQL查询语句
///
public DataTable ExecuteQuery(string sql)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(sql, getconn());
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
}
}
}