65.9K
CodeProject 正在变化。 阅读更多。
Home

数据访问助手类

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.24/5 (16投票s)

2003年10月10日

viewsIcon

77353

这个类帮助连接数据库引擎并返回结果集。

引言

这是一个易于使用的数据库访问助手类。有关设计数据访问助手类的更多信息,请参阅 .NET 应用程序架构:设计应用程序和服务 中的“设计数据层”部分。

要求

在使用此类之前,您只需要将 ADO 连接字符串存储到 web.config 文件中即可。

用法

public class DBAudit
{
 public static DataSet TextInfo(string IdCat, string IdTopic, string Lang, Guid IdObject)
 {
  return DB.FillDataset("STORED_PROC_NAME",
   new SqlParameter[] {
        new SqlParameter("@ID_CAT",SqlDbType.VarChar, 8),
        new SqlParameter("@ID_TOPIC",SqlDbType.VarChar, 8),
        new SqlParameter("@LANG",SqlDbType.VarChar, 8),
        new SqlParameter("@ID_OBJEct",SqlDbType.UniqueIdentifier, 16)
     },
   new object[] {IdCat, IdTopic, Lang, IdObject});
 }
}


源代码

namespace Infinity.DB
{
 /// <summary>
 /// Common methods for DB connection
 /// </summary>
 public class DB
 {
  const string DBConnStr = "DBSTR";

  /// <summary>
  /// Returns ADO connection string
  /// </summary>
  public static string GetConnStr()
  {
   return ConfigurationSettings.AppSettings[DBConnStr].ToString();
  }

  /// <summary>
  /// Returns filled dataset from stored procedure name and its parameters
  /// </summary>
  public static DataSet FillDataset(string SProc, SqlParameter[] Params, object[] Values)
  {
   return FillDataset(SProc, Params, Values, DB.GetConnStr());
  }

  /// <summary>
  /// Returns filled dataset from stored procedure name and its parameters
  /// </summary>
  public static DataSet FillDataset(string SProc, SqlParameter[] Params, object[] Values, string ConStr)
  {
   SqlConnection myConnection = new SqlConnection(ConStr);
   SqlDataAdapter myAdapter = new SqlDataAdapter();

   myAdapter.SelectCommand = new SqlCommand(SProc, myConnection);
   myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;

   // assign all parameters with its values
   for(int i = 0; i < Params.Length; i++)
   {
    myAdapter.SelectCommand.Parameters.Add(Params[i]).Value = Values[i];
   }

   DataSet myDataSet = new DataSet();

   myAdapter.Fill(myDataSet);

   return myDataSet;
  }

  /// <summary>
  /// Executes stored procedure with its parameters
  /// </summary>
  public static void ExecSQL(string SProc, SqlParameter[] Params, object[] Values)
  {
   SqlConnection myConnection = new SqlConnection(DB.GetConnStr());
   SqlCommand myCmd = new SqlCommand(SProc, myConnection);
   myCmd.CommandType = CommandType.StoredProcedure;

   // assign all parameters with its values
   for(int i = 0; i < Params.Length; i++)
   {
    myCmd.Parameters.Add(Params[i]).Value = Values[i];
   }

   myConnection.Open();
   myCmd.ExecuteNonQuery();
   myConnection.Close();
  }
 }
}
© . All rights reserved.