使用ADO.NET时,每次数据库操作都要设置connection属性、建立connection、使用command、事务处理等,比较繁琐,有很多重复工作。能不能把这些繁琐的、常用的操作再封装一下,以更方便、安全地使用。下面这个类就是一种尝试:
using System; using System.Data.SqlClient; using System.Text; using System.Data; using System.Collections; using System.Configuration;
public class DBAccess { /// <summary> /// Declare the ole db required objects /// </summary>
/// <summary> /// An ole db adapter to act as the bridge to the database /// </summary> private SqlDataAdapter dbDataAdapter; /// <summary> /// The connection to the database /// </summary> private SqlConnection dbConnection; /// <summary> /// The command for doing the inserts /// </summary> private SqlCommand dbInsertCommand; /// <summary> /// The command for doing the deletes /// </summary> private SqlCommand dbDeleteCommand; /// <summary> /// The command for doing the updates /// </summary> private SqlCommand dbUpdateCommand; /// <summary> /// The command for doing the Selects /// </summary> private SqlCommand dbSelectCommand;
private SqlCommand dbSelectCommandofAdapter;
/// <summary> /// The command for get dataset /// </summary> private SqlDataAdapter dataAdapterCommand;
/// <summary> /// The data reader for the application /// </summary> public SqlDataReader dbDataReader;
/// <summary> /// Declare an enum to allow internal tracking of commands /// </summary> enum COMMAND{ NONE, INSERT, UPDATE, DELETE, SELECT,DATASET }; /// <summary> /// Internal member for tracking command progress /// </summary> private COMMAND command;
/// <summary> /// String to hold error messages if a command fails /// </summary> private string error;
/// <summary> /// Get a stored error message if ExecuteCommand fails /// </summary> public string ErrorMessage { get { return error; } }
/// <summary> /// bool holder for is open /// </summary> private bool bOpen;
/// <summary> /// Check to see if a data base is open /// </summary> public bool IsOpen { get { return bOpen; } }
/// <summary> /// Declare a string object for the insert command /// </summary> public string InsertCommand { get { return dbInsertCommand.CommandText; } set { command = COMMAND.INSERT; dbInsertCommand.CommandText = value; } }
/// <summary> /// Declare a string object for the delete command /// </summary> public string DeleteCommand { get { return dbDeleteCommand.CommandText; } set { command = COMMAND.DELETE; dbDeleteCommand.CommandText = value; } }
/// <summary> /// Declare a string object for the update command /// </summary> public string UpdateCommand { get { return dbUpdateCommand.CommandText; } set { command = COMMAND.UPDATE; dbUpdateCommand.CommandText = value; } }
/// <summary> /// Declare a string object for the select command /// </summary> public string SelectCommand { get { return dbSelectCommand.CommandText; } set { command = COMMAND.SELECT; dbSelectCommand.CommandText = value; } }
public string SelectDataSetCommand { get { return dataAdapterCommand.SelectCommand.CommandText; } set { command = COMMAND.DATASET; dataAdapterCommand.SelectCommand.CommandText = value; } }
/// <summary> /// Get the reader from the class /// </summary> public SqlDataReader GetReader { get { switch( command ) { case COMMAND.NONE: return null; case COMMAND.DELETE: return DeleteReader; case COMMAND.INSERT: return InsertReader; case COMMAND.SELECT: return SelectReader; case COMMAND.UPDATE: return UpdateReader; default: return null; } } }
publ [1] [2] [3] [4] 下一页 [办公软件]在sybase中插入图片、PDF、文本文件 [办公软件]安装Sybase ASE [办公软件]linux指令大全(完整篇) [办公软件]Linux新手入门常用命令大全 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法 [办公软件]Linux程序员必读:中文化与GB18030标准 [办公软件]linux指令大全 [办公软件]制作Linux启动盘的四种方法 [办公软件]Linux文件系统的反删除方法
|