求高手帮忙给下面的方法写上详细注释,最好是每一行写一个,30分辛苦费双手奉上
using System.Data.OleDb;
using System.Collections;
using System.Data.SqlClient;
using System.Data.Sql;
/// <summary>
/// Summary description for OleDbHelper
/// </summary>
public class OleDbHelper
{
public static string strConnection
{
get
{
if(!Common.IsEnglish)
{
return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(Common.ChinesedbPath);
}
else
return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(Common.EnglishdbPath);
}
}
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
#region ExecuteNonQuery
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val;
try
{
val = cmd.ExecuteNonQuery();
}
finally
{
cmd.Parameters.Clear();
conn.Close();
}
return val;
}
}
public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(strConnection))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val;
try
{
val = cmd.ExecuteNonQuery();
}
finally
{
cmd.Parameters.Clear();
conn.Close();
}
return val;
}
}
public static int ExecuteNonQuery(string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(strConnection))
{
PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters);
int val;
try
{
val = cmd.ExecuteNonQuery();
}
finally
{
cmd.Parameters.Clear();
conn.Close();
}
return val;
}
}
public static int ExecuteNonQuery(OleDbConnection connection, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
int val;
try
{
val = cmd.ExecuteNonQuery();
}
finally
{
cmd.Parameters.Clear();
connection.Close();
}
return val;
}
#endregion
#region ExecuteReader
public static OleDbDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbDataReader rdr;
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
finally
{
cmd.Parameters.Clear();
}
return rdr;
}
public static OleDbDataReader ExecuteReader(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(strConnection);
OleDbDataReader rdr;
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
finally
{
cmd.Parameters.Clear();
}
return rdr;
}
public static OleDbDataReader ExecuteReader(string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(strConnection);
OleDbDataReader rdr;
try
{
PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters);
rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
finally
{
cmd.Parameters.Clear();
//conn.Close();
}
return rdr;
}
#endregion
[解决办法]
using System.Data.OleDb;using System.Collections;using System.Data.SqlClient;using System.Data.Sql;public class OleDbHelper{ /// <summary> /// 得到数据库连接字符串 /// </summary> public static string strConnection { get { if (!Common.IsEnglish)//判断Common.IsEnglish得到不同的字符串 { return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(Common.ChinesedbPath); } else return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(Common.EnglishdbPath); } } //定义一个哈希表 private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable()); //执行一个SQL命令 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); using (OleDbConnection conn = new OleDbConnection(connectionString)) { PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val; try { val = cmd.ExecuteNonQuery(); } finally { cmd.Parameters.Clear(); conn.Close(); } return val; } } //这个方法和上面的方法差不多,上面的connectionString是参数,这个方法的connectionString是公共变量 public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); using (OleDbConnection conn = new OleDbConnection(strConnection)) { PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val; try { val = cmd.ExecuteNonQuery(); } finally { cmd.Parameters.Clear(); conn.Close(); } return val; } } public static int ExecuteNonQuery(string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); using (OleDbConnection conn = new OleDbConnection(strConnection)) { PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters); int val; try { val = cmd.ExecuteNonQuery(); } finally { cmd.Parameters.Clear(); conn.Close(); } return val; } } public static int ExecuteNonQuery(OleDbConnection connection, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); int val; try { val = cmd.ExecuteNonQuery(); } finally { cmd.Parameters.Clear(); connection.Close(); } return val; } public static OleDbDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); OleDbConnection conn = new OleDbConnection(connectionString); OleDbDataReader rdr; try { PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); } finally { cmd.Parameters.Clear(); } return rdr; } public static OleDbDataReader ExecuteReader(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); OleDbConnection conn = new OleDbConnection(strConnection); OleDbDataReader rdr; try { PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); } finally { cmd.Parameters.Clear(); } return rdr; } public static OleDbDataReader ExecuteReader(string cmdText, params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); OleDbConnection conn = new OleDbConnection(strConnection); OleDbDataReader rdr; try { PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters); rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); } finally { cmd.Parameters.Clear(); } return rdr; }}