数据访问助手类






1.24/5 (16投票s)
2003年10月10日

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();
}
}
}