1using System;
  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

数据库函数..........相关推荐

  1. Unix环境高级编程(二十一)数据库函数库

    本章的内容是开发一个简单的.多用户数据库的C函数库.调用此函数库提供的C语言函数,其他程序可以读取和存储数据库中的记录.绝大部分商用数据库函数库提供多进程同时更新数据库所需要的并发控制,采用建议记录锁 ...

  2. thinkphp mysql函数_php封装的数据库函数与用法示例【参考thinkPHP】

    本文实例讲述了php封装的数据库函数与用法.分享给大家供大家参考,具体如下: 从Thinkphp里面抽离出来的数据库模块,感觉挺好用 common.php: /** * 通用函数 */ //包含配置文 ...

  3. Mysql数据库函数(数字,字符串,日期时间)

    文章目录 Mysql数据库函数(数字,字符串,日期时间) 数学函数 字符串函数 日期函数 Mysql数据库函数(数字,字符串,日期时间) 数学函数 abs(x) :返回x的绝对值 rand() :返回 ...

  4. php访问mysql函数吗,PHP访问MySQL数据库函数简介

    PHP访问MySQL数据库函数简介 PHP访问MySQL数据库函数简介 1. 进行数据库连接 连接数据库服务器,就是客户端向己运行的数据库服务器发出连接请求, 成功以后就可以对数据库进行相应操作,由于 ...

  5. python调用数据库数据创建函数_Pyhton应用程序数据库函数封装

    1.函数 2.迭代器 3.递归 4.数据库函数 5.fetchall函数 1.函数:实现指定功能代码的集合 def 函数名( ) : 2.在python中没有括号,函数体以缩进的方式进行展示 快捷键: ...

  6. db h2 数据类型_H2数据库函数及数据类型概述-阿里云开发者社区

    H2数据库函数及数据类型概述 jieforest 2015-01-29 573浏览量 简介: H2数据库函数及数据类型概述 一.H2数据库常用数据类型 INT类型:对应java.lang.Intege ...

  7. django 1.8 官方文档翻译: 2-5-10 数据库函数

    数据库函数 New in Django 1.8. 下面记述的类为用户提供了一些方法,来在Django中使用底层数据库提供的函数用于注解.聚合或者过滤器等操作.函数也是表达式,所以可以像聚合函数一样混合 ...

  8. 测试操作数据库mysql数据库吗_软件测试-MySQL(六:数据库函数)

    一.MySQL函数 1.数学函数 PI()  #返回pi的值(圆周率)默认显示小数位数是6位 FLOOR(x) 返回小于x的最大整数(去掉小数取整) CEILING(x)进一取整 ROUND(x,y) ...

  9. Mysql之--------------------多表查询(内连接 左外连接 右外连接)常见的数据库函数

    一.多表查询 什么是多表查询呢? 比如说,一个老师肯定会有不止一个学生,一个学生也会有不止一个老师,这样就存在了一种多对多的关系. 多对多关系表的创建 CREATE DATABASE moreandm ...

  10. oracle evaluate,Oracle BIEE EVALUATE系列使用数据库函数

    Oracle BIEE11中提供了EVALUATE这个函数,扩展了可以使用oracle函数的功能.以前看过晃晃悠悠写的EVALUATE的用法.我想补充另外用法.EVALUATE系列不只有BIEE Ad ...

最新文章

  1. 大有可为的“正则表达式”(二)
  2. 编写你人生中第一个机器学习代码吧!
  3. R 变量名开头不能为数字
  4. python的range()和list操作
  5. Lintcode 569解题思路及c++代码
  6. esp32树莓派_用 ESP32 制造炫彩 LED 球
  7. LeetCode 302. 包含全部黑色像素的最小矩形(BFS)
  8. 3K和3w的月薪的程序员,差别在哪里?
  9. webstorm 设置js或者html文件自动缩进为4个空格不生效
  10. 嵌入式Linux系统编程学习之二十无名管道(PIPE)
  11. Android O(29 )---MTK 平台代码同步
  12. 关联规则java apriori_关联规则算法(The Apriori algorithm)详解
  13. 微软前WP主管乔北峰长假回归 新岗位或将得罪不少用户
  14. 说一下syslog日志吧~~~
  15. 如何用计算机画磁滞回线,[画图的问题]怎么画类似于磁滞回线的图像?一个x值对应两个y值的...
  16. Linux 命令行进入DB2
  17. 加密项目必修科目:代币经济学
  18. 80004005错误代码_0x80004005,手把手教你解决0x80004005错误代码的方法
  19. 七牛云融合CDN到底怎么配置?
  20. 高并发时,读文件、读SESSION、读缓存(Redis)和读数据库(Mysql)的查询效率哪家强?

热门文章

  1. C/C++ OpenCV方框滤波
  2. android 360旋转动画,ANDROID——仿360手机卫士的旋转打分控件
  3. 云吟职中计算机老师,夹江县云吟职业中学校018招生简介
  4. 装水体积c语言,C语言基础之--sizeof()运算符的使用以及注意
  5. c++判断奇偶_高中数学奇偶性说课稿范文
  6. 计算机网络之网络概述:3、性能指标(速率、带宽、吞吐量、时延、RTT、利用率)
  7. VS2013编译64位boost流程及若干问题
  8. 超简单的Tomcat安装过程
  9. poj2229 基础的动态规划算法 挑战程序设计竞赛
  10. CFI/CFG 安全防护原理详解(ROP攻击、DOP攻击、插装检测)