using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
namespace YHTDBUnititly
{
public class OleDbHelper
{
public static readonly string oleconstring = ConfigurationManager.ConnectionStrings["oleconstring"].ConnectionString;
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, OleDbParameter[] cmdParas)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection con = new OleDbConnection(connectionString))
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
public static DataTable ExecuteDataTable(string sql, params OleDbParameter[] param)
{
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
OleDbCommand cmd = new OleDbCommand();
da.SelectCommand = cmd;
using (OleDbConnection con = new OleDbConnection(oleconstring))
{
cmd.Connection = con;
cmd.CommandText = sql;
if (param != null)
{
foreach (OleDbParameter p in param)
{
cmd.Parameters.Add(p);
}
}
try
{
da.Fill(dt);
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{ }
}
return dt;
}
public static OleDbDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, OleDbParameter[] cmdParas)
{
OleDbConnection con = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
try
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas);
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
catch (OleDbException ex)
{
con.Close();
throw new Exception(ex.Message, ex);
}
}
public static object ExecuteSclare(string connectionString, CommandType cmdType, string cmdText, OleDbParameter[] cmdParas)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection con = new OleDbConnection(connectionString))
{
PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
public static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, CommandType cmdType, string cmdText, OleDbParameter[] cmdParas)
{
if (conn.State == ConnectionState.Closed)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
//当定义cmdParas.Length< 0的时候,在调用该方法时,如果参数为空的话就会报错,错误为“调用的对象可能为空”,所以使用cmdParas!=null
if (cmdParas != null)
{
foreach (OleDbParameter para in cmdParas)
{
cmd.Parameters.Add(para);
}
}
}
public static bool ExecuteNonquery(string sql)
{
bool flag = false;
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection con = new OleDbConnection(oleconstring))
{
cmd.Connection = con;
cmd.CommandText = sql;
try
{
if (con.State == ConnectionState.Closed)
con.Open();
int result = cmd.ExecuteNonQuery();
if (result > 0)
flag = true;
return flag;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
finally
{
con.Close();
}
}
}
}
}