数据库函数..........
2using System.Data;
3using System.Data.SqlClient;
4
5using CommonClass;
6
7namespace SqlConnClass
8{
9 /**//// <summary>
10 /// SqlConn 的摘要说明。
11 /// </summary>
12 public class SqlConn
13 {
14 private SqlConnection _SConn;
15
16 构造函数#region 构造函数
17 public SqlConn(string sqlconn)
18 {
19 this._SConn=new SqlConnection(sqlconn);
20
21 }
22 #endregion
23
24 public SqlConnection SConn
25 {
26 get{return _SConn;}
27 }
28
29
30
31 public enum DBOperate
32 {
33 Insert=1,
34 Update,
35 Delete,
36 Pause,
37 Select,
38 Order,
39 Other
40 }
41
42 打开关闭连接 Open(),Close()#region 打开关闭连接 Open(),Close()
43 public void Open()
44 {_SConn.Open();}
45
46 public void Close()
47 {_SConn.Close();}
48 #endregion
49
50 根据语句查询返回DataSet SelectBySql(string sqlstr)#region 根据语句查询返回DataSet SelectBySql(string sqlstr)
51 public DataSet SelectBySql(string sqlstr)
52 {
53 SqlDataAdapter da;
54 DataSet ds=new DataSet();
55
56 da = new SqlDataAdapter( "SelectBySql", _SConn );
57 da.SelectCommand.CommandType = CommandType.StoredProcedure;
58 da.SelectCommand.Parameters.Add( new SqlParameter( "@SqlStr", sqlstr ) );
59 da.Fill(ds);
60 da.Dispose();
61
62 return ds;
63 }
64 #endregion
65
66 3参数 根据 ID 返回一行SqlDataReader SelectByKey(int KeyValue,string TableName,string KeyName)#region 3参数 根据 ID 返回一行SqlDataReader SelectByKey(int KeyValue,string TableName,string KeyName)
67 public SqlDataReader SelectByKey(int KeyValue,string TableName,string KeyName)
68 {
69 //一般为前台页面使用该函数,不涉及到数据更新
70 string Sqlstr="";
71 Sqlstr="select * from "+TableName+" where "+KeyName+"="+KeyValue;
72 SqlDataReader r;
73 SqlCommand com=new SqlCommand(Sqlstr,_SConn);
74 Open();
75 r = com.ExecuteReader();
76
77 return r;
78
79 }
80 #endregion
81
82 3参数 根据 字符串 返回一行SqlDataReader SelectByKey(int KeyValue,string TableName,string KeyName)#region 3参数 根据 字符串 返回一行SqlDataReader SelectByKey(int KeyValue,string TableName,string KeyName)
83 public SqlDataReader SelectByKey(string KeyValue,string TableName,string KeyName)
84 {
85 //一般为前台页面使用该函数,不涉及到数据更新
86 string Sqlstr="";
87 Sqlstr="select * from "+TableName+" where "+KeyName+"='"+KeyValue+"'";
88 SqlDataReader r;
89 SqlCommand com=new SqlCommand(Sqlstr,_SConn);
90 Open();
91 r = com.ExecuteReader();
92 com.Dispose();
93 return r;
94
95 }
96 #endregion
97
98 1参数 根据语句返回一行SqlDataReader SelectByKey(string sqlstr)#region 1参数 根据语句返回一行SqlDataReader SelectByKey(string sqlstr)
99 public SqlDataReader SelectByKey(string sqlstr)
100 {
101 SqlDataReader r=null;
102
103 SqlCommand com=new SqlCommand(sqlstr,_SConn);
104 Open();
105 r = com.ExecuteReader();
106 com.Dispose();
107 return r;
108 }
109 #endregion
110
111 根据关键字删除一行bool DelectByKey(object KeyValue,string TableName,string KeyName)#region 根据关键字删除一行bool DelectByKey(object KeyValue,string TableName,string KeyName)
112 public bool DelectByKey(object KeyValue,string TableName,string KeyName)
113 {
114 try
115 {
116 string Sqlstr="";
117
118 if(Common.IsNum(KeyValue))
119 Sqlstr="Delete from "+TableName+" where "+KeyName+"="+Convert.ToInt32(KeyValue.ToString());
120 else
121 Sqlstr="delete from "+TableName+" where "+KeyName+"='"+KeyValue.ToString()+"'";
122
123 Open();
124 SqlCommand com=new SqlCommand(Sqlstr,_SConn);
125 com.ExecuteNonQuery();
126 Close();
127 com.Dispose();
128 return true;
129 }
130 catch
131 {
132 Close();
133 return false;
134 }
135 }
136 #endregion
137
138 操作函数 bool Operate(string SqlStr)#region 操作函数 bool Operate(string SqlStr)
139 public bool Operate(string SqlStr)
140 {
141
142 try
143 {
144
145 Open();
146 SqlCommand com=new SqlCommand( SqlStr, _SConn );
147 com.ExecuteNonQuery();
148 Close();
149 com.Dispose();
150 return true;
151 }
152 catch
153 {
154 Close();
155 return false;
156 }
157 }
158 #endregion
159
160 统计记录数 GetCount(string sqlstr)#region 统计记录数 GetCount(string sqlstr)
161 public string GetCount(string sqlstr)
162 {
163 string str="";
164 SqlDataReader r;
165
166 SqlCommand com=new SqlCommand(sqlstr,this._SConn);
167 Open();
168 r = com.ExecuteReader();
169 if(r.Read())
170 str=r["sum"].ToString();
171 else
172 str="";
173 r.Close();
174 Close();
175
176 return str;
177 }
178 #endregion
179
180 分页#region 分页
181 public DataSet CutPage(int operation,string TableName,string FieldLists,string KeyField,
182 string Critical,string SortType,int PageSize,int ShowPageNo)
183 {
184 return CutPage(operation,TableName,FieldLists,KeyField,
185 Critical,SortType,PageSize,ShowPageNo,"");
186 }
187
188 public DataSet CutPage(int operation,string TableName,string FieldLists,string KeyField,
189 string Critical,string SortType,int PageSize,int ShowPageNo,string Group)
190 {
191 // operation int, --操作類型,0為取得當前頁記錄集,1為取得記錄總數(RecordCount)
192 // @TableName varchar(100), --要操作的表名
193 // @FieldLists varchar(8000), --字段列表,可以為'*",也可為空
194 // @KeyField varchar(100), --關鍵字段名
195 // @Critical varchar(200), --查詢條件
196 // @SortType varchar(4), --排序類型,為'DESC'或者'ASC',為空是默認為'ASC'
197 // @PageSize int, --每頁大小,大於0的整數
198 // @ShowPageNo int --當前要顯示的頁碼,大於0的整數,頁數從1開始
199 SqlDataAdapter da;
200 DataSet ds=new DataSet();
201 da = new SqlDataAdapter( "CutPage", _SConn );
202 da.SelectCommand.CommandType = CommandType.StoredProcedure;
203 da.SelectCommand.Parameters.Add( new SqlParameter( "@operation", operation ) );
204 da.SelectCommand.Parameters.Add( new SqlParameter( "@TableName", TableName ) );
205 da.SelectCommand.Parameters.Add( new SqlParameter( "@FieldLists", FieldLists ) );
206 da.SelectCommand.Parameters.Add( new SqlParameter( "@KeyField", KeyField ) );
207 da.SelectCommand.Parameters.Add( new SqlParameter( "@Critical", Critical ) );
208 da.SelectCommand.Parameters.Add( new SqlParameter( "@SortType", SortType ) );
209 da.SelectCommand.Parameters.Add( new SqlParameter( "@PageSize", PageSize ) );
210 da.SelectCommand.Parameters.Add( new SqlParameter( "@ShowPageNo", ShowPageNo ) );
211 da.SelectCommand.Parameters.Add( new SqlParameter( "@Group", Group ) );
212 da.Fill(ds);
213
214 return ds;
215 }
216 #endregion
217
218
219 /**//
220
221 基础函数#region 基础函数
222 private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)
223 {
224 foreach (SqlParameter p in commandParameters)
225 {
226 //check for derived output value with no value assigned
227 if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null))
228 {
229 p.Value = DBNull.Value;
230 }
231
232 command.Parameters.Add(p);
233 }
234 }
235
236 private static void PrepareCommand(SqlCommand command, SqlConnection connection, SqlTransaction transaction, CommandType commandType, string commandText, SqlParameter[] commandParameters)
237 {
238 //if the provided connection is not open, we will open it
239 if (connection.State != ConnectionState.Open)
240 {
241 connection.Open();
242 }
243
244 //associate the connection with the command
245 command.Connection = connection;
246
247 //set the command text (stored procedure name or SQL statement)
248 command.CommandText = commandText;
249
250 //if we were provided a transaction, assign it.
251 if (transaction != null)
252 {
253 command.Transaction = transaction;
254 }
255
256 //set the command type
257 command.CommandType = commandType;
258
259 //attach the command parameters if they are provided
260 if (commandParameters != null)
261 {
262 AttachParameters(command, commandParameters);
263 }
264
265 return;
266 }
267
268 #endregion
269
270 执行SQL语句#region 执行SQL语句
271
272 /**//// <summary>
273 /// 执行SQL语句,返回受影响的行数
274 /// </summary>
275 /// <param name="strSql">SQL语句</param>
276 public int ExecNonSql(string strSql)
277 {
278 return ExecNonSql(strSql,null);
279 }
280 public int ExecNonSql(string strSql,SqlParameter[] commandParameters)
281 {
282 SqlCommand cmd = new SqlCommand();
283 PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
284 int retval = cmd.ExecuteNonQuery();
285
286 this.Close();
287 return retval;
288 }
289
290 /**//// <summary>
291 /// 执行SQL语句,返回第一行第一列字符串
292 /// </summary>
293 /// <param name="strSql">SQL语句</param>
294 public string ExecScalarSql(string strSql)
295 {
296 return ExecScalarSql(strSql,null);
297 }
298 public string ExecScalarSql(string strSql,SqlParameter[] commandParameters)
299 {
300 SqlCommand cmd = new SqlCommand();
301 PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
302 object retval = cmd.ExecuteScalar();
303 if(retval == null)
304 retval = "";
305
306 this.Close();
307 return retval.ToString();
308 }
309
310 /**//// <summary>
311 /// 执行SQL语句,返回一个SqlDataReader对象
312 /// </summary>
313 /// <param name="strSql">SQL语句</param>
314 public SqlDataReader ExecReaderSql(string strSql)
315 {
316 return ExecReaderSql(strSql,null);
317 }
318
319 public SqlDataReader ExecReaderSql(string strSql,SqlParameter[] commandParameters)
320 {
321 SqlCommand cmd = new SqlCommand();
322 PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
323
324 SqlDataReader dr;
325 dr = cmd.ExecuteReader();
326
327 return dr;
328 }
329
330 /**//// <summary>
331 /// 执行SQL语句,返回一个DataSet对象
332 /// </summary>
333 /// <param name="strSql">SQL语句</param>
334 public DataSet ExecDatasetSql(string strSql)
335 {
336 return ExecDatasetSql(strSql,null);
337 }
338 public DataSet ExecDatasetSql(string strSql,SqlParameter[] commandParameters)
339 {
340 SqlCommand cmd = new SqlCommand();
341 PrepareCommand(cmd,_SConn,null,CommandType.Text,strSql,commandParameters);
342
343 //create the DataAdapter & DataSet
344 SqlDataAdapter da = new SqlDataAdapter(cmd);
345 DataSet ds = new DataSet();
346
347 da.Fill(ds);
348
349 cmd.Parameters.Clear();
350
351 this.Close();
352 return ds;
353 }
354
355 #endregion
356
357 执行存储过程#region 执行存储过程
358
359 /**//// <summary>
360 /// 执行SQL存储过程,返回受影响的行数
361 /// </summary>
362 /// <param name="spSql">存储过程名</param>
363 /// <param name="parameterValues">存储过程参数</param>
364 public int ExecNonSP(string spSql)
365 {
366 return ExecNonSP(spSql,null);
367 }
368 public int ExecNonSP(string spSql,SqlParameter[] commandParameters)
369 {
370 SqlCommand cmd = new SqlCommand();
371
372 PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
373
374 int retval = cmd.ExecuteNonQuery();
375 cmd.Parameters.Clear();
376
377 this.Close();
378 return retval;
379 }
380 /**//// <summary>
381 /// 执行SQL存储过程,返回第一行第一列字符串
382 /// </summary>
383 /// <param name="spSql">存储过程名</param>
384 /// <param name="parameterValues">存储过程参数</param>
385 public string ExecScalarSP(string spSql)
386 {
387 return ExecScalarSP(spSql,null);
388 }
389 public string ExecScalarSP(string spSql,SqlParameter[] commandParameters)
390 {
391 SqlCommand cmd = new SqlCommand();
392 PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
393 object retval = cmd.ExecuteScalar();
394 cmd.Parameters.Clear();
395
396 if(retval == null)
397 retval = "";
398
399 this.Close();
400 return retval.ToString();
401 }
402
403 /**//// <summary>
404 /// 执行SQL存储过程,返回一个SqlDataReader对象
405 /// </summary>
406 /// <param name="strSql">SQL语句</param>
407 public SqlDataReader ExecReaderSP(string spSql)
408 {
409 return ExecReaderSP(spSql,null);
410 }
411 public SqlDataReader ExecReaderSP(string spSql,SqlParameter[] commandParameters)
412 {
413 SqlCommand cmd = new SqlCommand();
414 PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
415
416 SqlDataReader dr;
417 dr = cmd.ExecuteReader();
418 cmd.Parameters.Clear();
419
420 return dr;
421 }
422
423 /**//// <summary>
424 /// 执行SQL语句,返回一个DataSet对象
425 /// </summary>
426 /// <param name="strSql">SQL语句</param>
427 public DataSet ExecDatasetSP(string spSql)
428 {
429 return ExecDatasetSP(spSql,null);
430 }
431 public DataSet ExecDatasetSP(string spSql,SqlParameter[] commandParameters)
432 {
433 SqlCommand cmd = new SqlCommand();
434 PrepareCommand(cmd,_SConn,null,CommandType.StoredProcedure,spSql,commandParameters);
435
436 //create the DataAdapter & DataSet
437 SqlDataAdapter da = new SqlDataAdapter(cmd);
438 DataSet ds = new DataSet();
439
440 da.Fill(ds);
441
442 cmd.Parameters.Clear();
443
444 this.Close();
445 return ds;
446 }
447
448 #endregion
449
450 执行XML#region 执行XML
451 #endregion
452
453 /**//
454 }
455}
456
转载于:https://www.cnblogs.com/jhobo/archive/2006/08/31/491083.html
数据库函数..........相关推荐
- Unix环境高级编程(二十一)数据库函数库
本章的内容是开发一个简单的.多用户数据库的C函数库.调用此函数库提供的C语言函数,其他程序可以读取和存储数据库中的记录.绝大部分商用数据库函数库提供多进程同时更新数据库所需要的并发控制,采用建议记录锁 ...
- thinkphp mysql函数_php封装的数据库函数与用法示例【参考thinkPHP】
本文实例讲述了php封装的数据库函数与用法.分享给大家供大家参考,具体如下: 从Thinkphp里面抽离出来的数据库模块,感觉挺好用 common.php: /** * 通用函数 */ //包含配置文 ...
- Mysql数据库函数(数字,字符串,日期时间)
文章目录 Mysql数据库函数(数字,字符串,日期时间) 数学函数 字符串函数 日期函数 Mysql数据库函数(数字,字符串,日期时间) 数学函数 abs(x) :返回x的绝对值 rand() :返回 ...
- php访问mysql函数吗,PHP访问MySQL数据库函数简介
PHP访问MySQL数据库函数简介 PHP访问MySQL数据库函数简介 1. 进行数据库连接 连接数据库服务器,就是客户端向己运行的数据库服务器发出连接请求, 成功以后就可以对数据库进行相应操作,由于 ...
- python调用数据库数据创建函数_Pyhton应用程序数据库函数封装
1.函数 2.迭代器 3.递归 4.数据库函数 5.fetchall函数 1.函数:实现指定功能代码的集合 def 函数名( ) : 2.在python中没有括号,函数体以缩进的方式进行展示 快捷键: ...
- db h2 数据类型_H2数据库函数及数据类型概述-阿里云开发者社区
H2数据库函数及数据类型概述 jieforest 2015-01-29 573浏览量 简介: H2数据库函数及数据类型概述 一.H2数据库常用数据类型 INT类型:对应java.lang.Intege ...
- django 1.8 官方文档翻译: 2-5-10 数据库函数
数据库函数 New in Django 1.8. 下面记述的类为用户提供了一些方法,来在Django中使用底层数据库提供的函数用于注解.聚合或者过滤器等操作.函数也是表达式,所以可以像聚合函数一样混合 ...
- 测试操作数据库mysql数据库吗_软件测试-MySQL(六:数据库函数)
一.MySQL函数 1.数学函数 PI() #返回pi的值(圆周率)默认显示小数位数是6位 FLOOR(x) 返回小于x的最大整数(去掉小数取整) CEILING(x)进一取整 ROUND(x,y) ...
- Mysql之--------------------多表查询(内连接 左外连接 右外连接)常见的数据库函数
一.多表查询 什么是多表查询呢? 比如说,一个老师肯定会有不止一个学生,一个学生也会有不止一个老师,这样就存在了一种多对多的关系. 多对多关系表的创建 CREATE DATABASE moreandm ...
- oracle evaluate,Oracle BIEE EVALUATE系列使用数据库函数
Oracle BIEE11中提供了EVALUATE这个函数,扩展了可以使用oracle函数的功能.以前看过晃晃悠悠写的EVALUATE的用法.我想补充另外用法.EVALUATE系列不只有BIEE Ad ...
最新文章
- 大有可为的“正则表达式”(二)
- 编写你人生中第一个机器学习代码吧!
- R 变量名开头不能为数字
- python的range()和list操作
- Lintcode 569解题思路及c++代码
- esp32树莓派_用 ESP32 制造炫彩 LED 球
- LeetCode 302. 包含全部黑色像素的最小矩形(BFS)
- 3K和3w的月薪的程序员,差别在哪里?
- webstorm 设置js或者html文件自动缩进为4个空格不生效
- 嵌入式Linux系统编程学习之二十无名管道(PIPE)
- Android O(29 )---MTK 平台代码同步
- 关联规则java apriori_关联规则算法(The Apriori algorithm)详解
- 微软前WP主管乔北峰长假回归 新岗位或将得罪不少用户
- 说一下syslog日志吧~~~
- 如何用计算机画磁滞回线,[画图的问题]怎么画类似于磁滞回线的图像?一个x值对应两个y值的...
- Linux 命令行进入DB2
- 加密项目必修科目:代币经济学
- 80004005错误代码_0x80004005,手把手教你解决0x80004005错误代码的方法
- 七牛云融合CDN到底怎么配置?
- 高并发时,读文件、读SESSION、读缓存(Redis)和读数据库(Mysql)的查询效率哪家强?
热门文章
- C/C++ OpenCV方框滤波
- android 360旋转动画,ANDROID——仿360手机卫士的旋转打分控件
- 云吟职中计算机老师,夹江县云吟职业中学校018招生简介
- 装水体积c语言,C语言基础之--sizeof()运算符的使用以及注意
- c++判断奇偶_高中数学奇偶性说课稿范文
- 计算机网络之网络概述:3、性能指标(速率、带宽、吞吐量、时延、RTT、利用率)
- VS2013编译64位boost流程及若干问题
- 超简单的Tomcat安装过程
- poj2229 基础的动态规划算法 挑战程序设计竞赛
- CFI/CFG 安全防护原理详解(ROP攻击、DOP攻击、插装检测)