.net mysql sqlhelper_用于MySql的SqlHelper

1 ///

2

3 ///Title :MySqlHelper4 ///Author :WinterT5 ///Date :2015-1-8 08:12:546 ///Description:7 ///ExecuteNonQuery8 ///ExecuteScalar9 ///ExecuteReader10 ///ExecuteTable11 ///

12 public static classMySqlHelper13 {14 ///

15 ///返回配置文件中指定的连接16 ///

17 /// 配置文件中指定的连接

18 private staticMySqlConnection GetConnection()19 {20 string connString = ConfigurationManager.ConnectionStrings[1].ConnectionString;21 return newMySqlConnection(connString);22 }23 #region ExecuteNonQuery

24 ///

25 ///执行sql语句26 ///

27 /// sql语句

28 /// 受影响行数

29 public static int ExecuteNonQuery(stringsql)30 {31 using (MySqlConnection conn =GetConnection())32 {33 using (MySqlCommand cmd =conn.CreateCommand())34 {35 cmd.CommandText =sql;36 returncmd.ExecuteNonQuery();37 }38 }39 }40 ///

41 ///根据给定连接,执行带参数的SQL语句42 ///

43 /// 连接、使用前确保连接以打开。

44 /// 带参数的sql语句

45 /// 参数

46 /// 受影响行数

47 public static intExecuteNonQuery48 (MySqlConnection conn, string sql, paramsMySqlParameter[] paras)49 {50 using (MySqlCommand cmd =conn.CreateCommand())51 {52 cmd.CommandText =sql;53 cmd.Parameters.AddRange(paras);54 returncmd.ExecuteNonQuery();55 }56 }57 ///

58 ///执行带参数的SQL语句59 ///

60 /// 带参数的sql语句

61 /// 参数

62 /// 受影响行数

63 public static intExecuteNonQuery64 (string sql, paramsMySqlParameter[] paras)65 {66 using (MySqlConnection conn =GetConnection())67 {68 returnExecuteNonQuery(conn, sql, paras);69 }70 }71 #endregion

72 #region ExecuteScalar

73 ///

74 ///执行sql语句,返回第一行第一列75 ///

76 /// sql语句

77 /// 第一行第一列

78 public static Object ExecuteScalar(stringsql)79 {80 using (MySqlConnection conn =GetConnection())81 {82 using (MySqlCommand cmd =conn.CreateCommand())83 {84 cmd.CommandText =sql;85 returncmd.ExecuteScalar();86 }87 }88 }89 ///

90 ///根据Connection对象,执行带参数的sql语句,返回第一行第一列91 ///

92 /// 连接

93 /// sql语句

94 /// 参数

95 /// 返回第一行第一列

96 public static objectExecuteScalar97 (MySqlConnection conn, stringsql, MySqlParameter[] paras)98 {99 using (MySqlCommand cmd =conn.CreateCommand())100 {101 cmd.CommandText =sql;102 cmd.Parameters.AddRange(paras);103 returncmd.ExecuteScalar();104 }105 }106 ///

107 ///执行带参数的sql语句,返回第一行第一列108 ///

109 /// sql语句

110 /// 参数

111 /// 返回第一行第一列

112 public static objectExecuteScalar113 (stringsql, MySqlParameter[] paras)114 {115 using (MySqlConnection conn =GetConnection())116 {117 returnExecuteScalar(conn, sql, paras);118 }119 }120 #endregion

121 #region ExecuteReader

122 ///

123 ///执行sql语句,返回一个MySqlDataReader124 ///

125 /// sql语句

126 /// 一个MySqlDataReader对象

127 public static MySqlDataReader ExecuteReader(stringsql)128 {129 MySqlConnection conn =GetConnection();130 using (MySqlCommand cmd =conn.CreateCommand())131 {132 cmd.CommandText =sql;133 conn.Open();134 returncmd.ExecuteReader(CommandBehavior.CloseConnection);135 }136 }137 ///

138 ///根据指定的连接,执行带参数的sql语句,返回一个Reader对象139 ///

140 /// 连接

141 /// sql语句

142 /// 参数

143 /// 一个MySqlDataReader对象

144 public staticMySqlDataReader ExecuteReader145 (MySqlConnection conn, string sql, paramsMySqlParameter[] paras)146 {147 using (MySqlCommand cmd =conn.CreateCommand())148 {149 cmd.CommandText =sql;150 cmd.Parameters.AddRange(paras);151 conn.Open();152 returncmd.ExecuteReader(CommandBehavior.CloseConnection);153 }154 }155 ///

156 ///执行带参数的sql语句,返回一个Reader对象157 ///

158 /// sql语句

159 /// 参数

160 /// 一个MySqlDataReader对象

161 public staticMySqlDataReader ExecuteReader162 (string sql, paramsMySqlParameter[] paras)163 {164 MySqlConnection conn =GetConnection();165 using (MySqlCommand cmd =conn.CreateCommand())166 {167 returnExecuteReader(conn, sql, paras);168 }169 }170 #endregion

171 #region ExecuteTable

172 ///

173 ///执行sql语句,返回一个DataTable174 ///

175 /// sql语句

176 /// DataTable

177 public static DataTable ExecuteTable(stringsql)178 {179 using (MySqlConnection conn =GetConnection())180 {181 using (MySqlCommand cmd =conn.CreateCommand())182 {183 cmd.CommandText =sql;184 using (MySqlDataReader reader =cmd.ExecuteReader())185 {186 DataTable table = newDataTable();187 table.Load(reader);188 returntable;189 }190 }191 }192 }193 ///

194 ///根据连接,执行带参数的sql语句,返回一个DataTable195 ///

196 /// 连接,切记连接已打开

197 /// sql语句

198 /// 参数

199 /// DataTable

200 public staticDataTable ExecuteTable201 (MySqlConnection conn, string sql, paramsMySqlParameter[] paras)202 {203 using (MySqlCommand cmd =conn.CreateCommand())204 {205 cmd.CommandText =sql;206 cmd.Parameters.AddRange(paras);207 using (MySqlDataReader reader =cmd.ExecuteReader())208 {209 DataTable table = newDataTable();210 table.Load(reader);211 returntable;212 }213 }214 }215 ///

216 ///执行带参数的sql语句217 ///

218 /// sql语句

219 /// 参数

220 /// DataTable

221 public staticDataTable ExecuteTable222 (string sql, paramsMySqlParameter[] paras)223 {224 using (MySqlConnection conn =GetConnection())225 {226 returnExecuteTable(conn, sql, paras);227 }228 }229

230 #endregion

231 }

个人曾经写过的数据访问接口,包含:MSSQLMysql、Oracle等数据库的公共处理接口。可以拿过来直接使用,放在手里好多年了。 IDatabase接口声明如下: namespace Simple.Database { /// /// IDatabase 接口 /// public interface IDatabase { DbConnection dbConn { get; set; } /// /// 创建 DbConnection 对象实例。 /// /// DbConnection 对象实例。 DbConnection CreateConnection(); /// /// 创建 DbCommand 对象实例。 /// /// DbCommand 对象实例。 DbCommand CreateCommand(); /// /// 创建 DbCommand 对象实例。 /// /// Sql 语句或存储过程名。 /// CommandType 参数。 /// DbCommand 对象实例。 DbCommand CreateCommand(string text, CommandType type); /// /// 创建 DbCommand 对象实例。 /// /// Sql 语句或存储过程名。 /// CommandType 参数。 /// 参数集合。 /// DbCommand 对象实例。 DbCommand CreateCommand(string text, CommandType type, IDataParameter[] paras); /// /// 创建 DbCommand 对象实例。 /// /// DbConnection 对象。 /// Sql 语句或存储过程名。 /// CommandType 参数。 /// 参数集合。 /// DbCommand 对象实例。 DbCommand CreateCommand(DbConnection conn, string text, CommandType type, IDataParameter[] paras); /// /// 创建 DbDataAdapter 对象实例。 /// /// DbDataAdapter 对象实例。 DbDataAdapter CreateDataAdapter(); /// /// 创建 DbParameter 对象实例。 /// /// DbParameter 对象实例。 DbParameter CreateParameter(); /// /// 创建 DbParameter 对象实例。 /// /// 参数名称。 /// 参数值。 /// DbParameter 对象实例。 DbParameter CreateParameter(string name, Object value); /// /// 创建 DbParameter 对象实例。 /// /// 参数名称。 /// 参数类型。 /// DbParameter 对象实例。 DbParameter CreateParameter(string name, DbType type); /// /// 创建 DbParameter 对象实例。 /// /// 参数名称。 /// 参数类型。 /// 数据的最大大小。 /// DbParameter 对象实例。 DbParameter CreateParameter(string name, DbType type, int size); /// /// 获取指定长度数据的 DataSet 对象。 /// /// 要读取的 Sql 语句。 /// 开始读取位置的索引。 /// 待读取记录集的长度。 /// DataSet 对象。 DataSet GetDataSet(string sql, int start, int length); /// /// 获取指定长度数据的 DataTable 对象。 /// /// 要读取的 Sql 语句。 /// 开始读取位置的索引。 /// 待读取记录集的长度。 /// DataTable 对象。 DataTable GetDataTable(string sql, int start, int length); /// /// 执行Insert、Update、Delete等操作,并返回受影响的记录数。 /// /// 要执行的 Sql 语句。 /// 受影响的记录数。 int GetEffect(string sql); /// /// 执行 Insert、Update、Delete 等操作,并返回受影响的记录数。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 的类型,即该命令是 Sql 语句,还是存储过程名等。 /// 受影响的记录数。 int GetEffect(string sql, CommandType type); /// /// 执行带参数的 Sql 语句或存储过程,并返回受影响的记录数。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 参数类型,即该命令是 sql 语句,还是存储过程名等。 /// 参数集合。 /// 受影响的记录数。 int GetEffect(string text, CommandType type, IDataParameter[] paras); /// /// /// /// /// /// /// /// /// int GetEffect(DbConnection conn, string text, CommandType type, IDataParameter[] paras, DbTransaction DbTrans); /// /// /// /// /// List ExecuteTransaction(params string[] sqls); /// /// 执行 Select 语句,并返回 DataSet 对象。 /// /// 要执行的 Sql 语句。 /// DataSet 对象。 DataSet GetDataSet(string sql); /// /// 执行 Select 语句或存储过程,并返回 DataSet 对象。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 参数类型,即该命令是 sql 语句,还是存储过程名等。 /// DataSet 对象。 DataSet GetDataSet(string text, CommandType type); /// /// 执行带参数的 Sql 语句或存储过程,并返回 DataSet 对象。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 参数类型,即该命令是 sql 语句,还是存储过程名等。 /// 参数集合。 /// DataSet 对象。 DataSet GetDataSet(string text, CommandType type, IDataParameter[] paras); /// /// 执行 Select 语句,并返回 DataTable 对象。 /// /// 要执行的 Sql 语句。 /// DataTable 对象。 DataTable GetDataTable(string sql); /// /// 执行 Select 语句或存储过程,并返回 DataTable 对象。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 参数类型,即该命令是 sql 语句,还是存储过程名等。 /// DataTable 对象。 DataTable GetDataTable(string text, CommandType type); /// /// 执行带参数的 Sql 语句或存储过程,并返回 DataTable 对象。 /// /// 要执行的 Sql 语句或存储过程名等。 /// CommandType 参数类型,即该命令是 sql 语句,还是存储过程名等。 /// 参数集合。 /// DataTable 对象。 DataTable GetDataTable(string text, CommandType type, IDataParameter[] paras); /// /// 获取查询所返回的结果集中第一行第一列的值。 /// /// 要处理的 sql 语句(包含待查询的字段)。 /// 字段值。 object GetField(string sql); /// /// 获取查询所返回的结果集中第一行指定列的值。 /// /// 待查询的数据表名称。 /// 待获取字段的列名。 /// 字段值。 object GetField(string sql, string field); /// /// 获取查询所返回的结果集中第一行指定列集合的值。 /// /// 要处理的 sql 语句。 /// 待获取字段的列表。 /// 字段值集合。 object[] GetField(string sql, params string[] fields); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值