public class DBHelper
{
static string ConnectionString = "Data Source=.;Initial Catalog=aaaaaaa;User Id=sa;Password=123123;";
static SqlConnection _conn = new SqlConnection(ConnectionString);
static SqlCommand _cmd = new SqlCommand();
/// <summary>
/// 打开数据库连接
/// </summary>
static void Open()
{
try{
if (_conn.State == ConnectionState.Closed)
{
_conn.Open();
_cmd.Connection = _conn;
_cmd.CommandTimeout=60;
}
else
{ _cmd.Connection = _conn; }
}
catch(SqlException ex)
{
}
}
/// <summary>
/// 关闭数据库连接
/// </summary>
static void Close()
{
try{
if (_conn.State == ConnectionState.Open)
{ _conn.Close(); }
}
catch(SqlException ex)
{
}
}
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteNonQuery(string SQLString)
{
int rs=0;
try
{
Open();
_cmd.CommandText = SQLString;
rs = _cmd.ExecuteNonQuery();
return rs;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{Close();}
}
/// <summary>
/// 执行TSQL 返回DataTable
/// </summary>
/// <param name="SQLString">要执行的sql语句</param>
/// <returns>返回DataTable</returns>
public static DataTable DataTableQuery(string SQLString)
{
DataTable dt = new DataTable();
try
{
Open();
_cmd.CommandText = SQLString;
SqlDataAdapter dap = new SqlDataAdapter(_cmd);
dap.Fill(dt);
}
catch { }
finally { Close(); }
return dt;
}
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>第一个结果</returns>
public static object ExecuteScalar(string SQLString)
{
object rs=null;
try
{
Open();
_cmd.CommandText = SQLString;
rs = _cmd.ExecuteScalar();
return rs;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{Close();}
}
}
第二层直接调用就是了,这个类我在很多简单项目中通用,适合新书,大神别笑话