日期:2014-05-20  浏览次数:20413 次

我的OleDBHelp,欢迎大家挑毛病.
public class OleDBHelper
{
  private static string connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
  public OleDBHelper() { }

  #region 添加数据
  /// <summary>
  /// 添加数据
  /// </summary>
  /// <param name="tableName">表名</param>
  /// <param name="p">参数集合</param>
  /// <returns>返回指示是否添加成功的布尔值</returns>
  public static bool InsertData(string tableName, params OleDbParameter[] parameters)
  {
  string s;
  StringBuilder sql = new StringBuilder(string.Format("insert into [{0}](", tableName));
  foreach (OleDbParameter pt in parameters)
  {
  s = pt.ParameterName;
  s = s.Substring(1, s.Length - 1);
  sql.Append("[" + s + "],");
  }
  s = sql.ToString();
  sql = new StringBuilder(string.Format("[{0}]) values(", s.Substring(0, s.Length - 1)));
  foreach (OleDbParameter pt in parameters)
  {
  sql.Append(pt.ParameterName + ",");
  }
  s = sql.ToString();
  sql = new StringBuilder(s.Substring(0, s.Length - 1) + ")");
  try
  {
  using (OleDbConnection con = new OleDbConnection(connectionString))
  {
  con.Open();
  OleDbCommand com = new OleDbCommand(sql.ToString(), con);
  com.Parameters.AddRange(parameters);
  int i = com.ExecuteNonQuery();
  com.Parameters.Clear();
  if (i == 0)
  return false;
  return true;
  }
  }
  catch (Exception e)
  {
  throw e;
  }
  }
  #endregion

------解决方案--------------------
不错,在这个公共类里根据参数自动构造常用SQL代码的思路比较新颖,按这个思路,再配合反射的使用,基本上就是一个ORM的雏形了。

挑毛病的话,就鸡蛋里面挑点骨头吧:

(1) 参数命名不规范:如
C# code

public static DataTable SelectTableData(string tableName, string rowName1, string rowParameter1, string rowName2, string rowParameter2, string sort, string isDescAsc)

------解决方案--------------------
探讨
引用:
照样可以注入`..`
  不如用反射..或者HASHTABLE



请问这位高手能再说清楚点吗

为什么现在回答的都这么草率  是真懂还是假懂?

迷茫

帮LZ顶了  学习ing