C# Access 数据访问类 OleHelper
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
namespace Dal

...{
public sealed class OleHelper

...{
private OleHelper()

...{ }

public static OleDbConnection Conn

...{
get

...{
return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationSettings.AppSettings["DataName"]);
}
}

public static DataSet ExecuteDataset(OleDbConnection connection, CommandType commandType, string commandText)

...{
OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, null, commandType, commandText);

OleDbDataAdapter da = new OleDbDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

cmd.Parameters.Clear();
connection.Close();
return ds;
}

public static DataSet ExecuteDataset(OleDbConnection connection, CommandType commandType, string commandText, OleDbParameter[] parameters)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, commandType, commandText, parameters);

DataSet retval = cmd.ExecuteDataset();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

public static int ExecuteNonQuery(OleDbConnection connection, CommandType commandType, string commandText)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, null, commandType, commandText);

int retval = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

public static int ExecuteNonQuery(OleDbConnection connection, CommandType commandType, string commandText, OleDbParameter[] parameters)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, commandType, commandText, parameters);

int retval = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();
connection.Close();
return retval;

}


public static object ExecuteScalar(OleDbConnection connection, CommandType commandType, string commandText)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, null, commandType, commandText);

object retval = cmd.ExecuteScalar();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

public static object ExecuteScalar(OleDbConnection connection, CommandType commandType, string commandText, OleDbParameter[] parameters)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, commandType, commandText, parameters);

object retval = cmd.ExecuteScalar();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

public static OleDbDataReader ExecuteReader(OleDbConnection connection, CommandType commandType, string commandText)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, null, commandType, commandText);

OleDbDataReader retval = cmd.ExecuteReader();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

public static OleDbDataReader ExecuteReader(OleDbConnection connection, CommandType commandType, string commandText,OleDbParameter[] parameters)

...{

OleDbCommand cmd = new OleDbCommand();

PrepareCommand(cmd, connection, commandType, commandText, parameters);

OleDbDataReader retval = cmd.ExecuteReader();

cmd.Parameters.Clear();
connection.Close();
return retval;

}

private static void PrepareCommand(OleDbCommand command, OleDbConnection connection, OleDbTransaction transaction, CommandType commandType, string commandText)

...{
if (connection.State != ConnectionState.Open)

...{
connection.Open();
}

command.Connection = connection;

command.CommandText = commandText;

if (transaction != null)

...{
command.Transaction = transaction;
}

command.CommandType = commandType;

return;
}

private static void PrepareCommand(OleDbCommand command, OleDbConnection connection, CommandType commandType, string commandText,OleDbParameter[] parameters)

...{
if (connection.State != ConnectionState.Open)

...{
connection.Open();
}

command.Connection = connection;

command.CommandText = commandText;

command.Parameters = parameters;

command.CommandType = commandType;

return;
}
}
}

