我的数据访问函数库的源代码(四)—— 存储过程部分,包括存储过程的参数的封装

简介: /* 2008 4 25 更新 */ 我的数据访问函数库的源码。整个类有1400行,原先就是分开来写的,现在更新后还是分开来发一下吧。 第四部分:存储过程部分,包括存储过程的参数,主要是对存储过程的参数的封装。
/* 2008 4 25 更新 */

我的数据访问函数库
的源码。整个类有1400行,原先就是分开来写的,现在更新后还是分开来发一下吧。

第四部分:存储过程部分,包括存储过程的参数 ,主要是对存储过程的参数的封装。

 

  1 // 存储过程的参数部分
  2          存储过程的参数部分——清除和添加参数 #region 存储过程的参数部分——清除和添加参数
  3
  4        清除参数#region 清除参数
  5        /**//// <summary>
  6        /// 清除SqlCommand的存储过程的参数。
  7        /// </summary>

  8        public void ClearParameter()
  9        {cm.Parameters.Clear();}
 10        #endregion

 11    
 12        //int:        tinyint、smallint
 13        //bigint:
 14        //bool:    bit
 15        //double:    float、real
 16        //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime
 17        //string:    ntext、text
 18
 19        //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
 20        //numeric:功能上等同于 decimal。
 21        //decimal:    smallmoney、money
 22
 23        //二进制
 24        //            binary、varbinary、image
 25
 26        输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、
 27        int#region int
 28        /**//// <summary>
 29        /// 添加int型的参数。
 30        /// </summary>
 31        /// <param name="ParameterName">参数名称。比如 @UserName</param>
 32        /// <param name="ParameterValue">参数值</param>

 33        public void addNewParameter(string ParameterName,int ParameterValue)
 34        {        
 35            cm.Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数
 36            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 37            //设置方向取默认值——输入
 38        }

 39        #endregion
 
 40    
 41        double#region double
 42        /**//// <summary>
 43        /// 添加小数参数,double
 44        /// </summary>
 45        /// <param name="ParameterName">参数名称。比如 @UserName</param>
 46        /// <param name="ParameterValue">参数值</param>

 47        public void addNewParameter(string ParameterName,double ParameterValue )
 48        {        
 49            cm.Parameters.Add(ParameterName,SqlDbType.Float );            //添加存储过程的参数
 50            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 51        }

 52        #endregion
 
 53    
 54        decimal#region decimal
 55        /**//// <summary>
 56        /// 添加金额参数,方向是输入(input)。decimal
 57        /// </summary>
 58        /// <param name="ParameterName">参数名称。比如 @UserName</param>
 59        /// <param name="ParameterValue">参数值</param>

 60        public void addNewParameter(string ParameterName,decimal ParameterValue )
 61        {        
 62            cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
 63            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 64        }

 65        #endregion
 
 66    
 67        nvarChar#region nvarChar
 68        /**//// <summary>
 69        /// 添加nvarChar型的参数。方向是输入(input)
 70        /// </summary>
 71        /// <param name="ParameterName">参数名称。比如 @UserName</param>
 72        /// <param name="ParameterValue">参数值</param>
 73        /// <param name="size">参数大小</param>

 74        public void addNewParameter(string ParameterName,string ParameterValue,int size)
 75        {        
 76            cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);            //添加存储过程的参数
 77            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 78        }

 79        #endregion
 
 80    
 81        nText#region nText
 82        /**//// <summary>
 83        /// 添加nText型的参数。方向是输入(input)
 84        /// </summary>
 85        /// <param name="ParameterName">参数名称。比如 @UserName</param>
 86        /// <param name="ParameterValue">参数值</param>

 87        public   void addNewParameter(string ParameterName,string ParameterValue)
 88        {        
 89            cm.Parameters.Add(ParameterName,SqlDbType.NText);            //添加存储过程的参数
 90            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 91        }

 92
 93        #endregion
 
 94    
 95        bit#region bit
 96        /**//// <summary>
 97        /// 添加bit型的参数。方向是输入(input)
 98        /// </summary>
 99        /// <param name="ParameterName">参数名称。比如 @UserName</param>
100        /// <param name="ParameterValue">参数值</param>

101        public   void addNewParameter(string ParameterName,bool ParameterValue)
102        {        
103            cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
104            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
105        }

106        #endregion
 
107    
108        #endregion

109
110        输出型的参数#region 输出型的参数 
111        
112        /**//// <summary>
113        /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。
114        /// </summary>
115        /// <param name="ParameterName">参数名称。比如 @UserName</param>
116        /// <param name="ParameterValue">参数的类型</param>

117        public void addNewParameter(string ParameterName,HBS.ParameterKind kind)
118        {
119            switch(kind)
120            {
121                case ParameterKind.Int :
122                    cm.Parameters.Add(ParameterName,SqlDbType.Int);            //添加存储过程的参数
123                    break;
124                case ParameterKind.Double:
125                    cm.Parameters.Add(ParameterName,SqlDbType.Float);            //添加存储过程的参数
126                    break;
127                case ParameterKind.Decimal :
128                    cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
129                    break;
130                case ParameterKind.NVarChar :
131                    cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,4000);            //添加存储过程的参数
132                    break;
133                case ParameterKind.Bit :
134                    cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
135                    break;
136            }

137            cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向
138        }

139        
140        #endregion

141
142        #endregion

143
144          存储过程的参数部分——取参数的返回值 #region 存储过程的参数部分——取参数的返回值
145
146        /**//// <summary>
147        /// 按序号返回参数值,一般在执行完存储过程后使用
148        /// </summary>
149        /// <param name="ParameterIndex">序号</param>
150        /// <returns>返回参数的内容</returns>

151        public string getParameter(int ParameterIndex)
152        {        
153            return cm.Parameters[ParameterIndex].Value.ToString();
154        }

155
156        /**//// <summary>
157        /// 按名称返回参数值,一般在执行完存储过程后使用
158        /// </summary>
159        /// <param name="ParameterName">参数名称。比如 @UserName</param>
160        /// <returns>返回参数的内容</returns>

161        public   string getParameter(string ParameterName)
162        {        
163            return cm.Parameters[ParameterName].Value.ToString();
164        }

165        #endregion

166
167          存储过程的参数部分——修改参数值 #region 存储过程的参数部分——修改参数值
168        /**//// <summary>
169        /// 按序号修改参数值,一般在一次添加多条记录时用。
170        /// </summary>
171        /// <param name="ParameterIndex">序号</param>

172        public void setParameter(int ParameterIndex,string parameterValue)
173        {    cm.Parameters[ParameterIndex].Value = parameterValue;}
174
175        /**//// <summary>
176        /// 按名称修改参数值,一般在一次添加多条记录时用
177        /// </summary>
178        /// <param name="ParameterName">参数名称。比如 @UserName</param>

179        public void setParameter(string ParameterName,string parameterValue)
180        {    cm.Parameters[ParameterName].Value = parameterValue;}
181        #endregion

182
183          // 存储过程部分
184          运行存储过程返回记录(DataSet、DataTable、不返回记录集) #region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)
185
186        /**//// <summary>
187        /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)
188        /// </summary>
189        /// <param name="StoredProcedureName">存储过程名称</param>
190        /// <returns>返回DataSet</returns>

191        函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet
192        public DataSet RunStoreDataSet(string StoredProcedureName)
193        {    
194            SetCommand(StoredProcedureName,2);        //设置command
195            SqlDataAdapter da = new SqlDataAdapter(cm);
196            try
197            {
198                DataSet DS = new DataSet();
199                da.Fill(DS);
200                return DS;
201            }

202            catch(Exception ex)
203            {
204                SetErrorMsg("RunStoreDataSet",StoredProcedureName,ex.Message );    //处理错误
205                return null;
206            }

207            finally
208            {
209                da.Dispose();
210            }

211        }

212        #endregion

213
214        /**//// <summary>
215        /// 运行存储过程返回DataTable。
216        /// </summary>
217        /// <param name="StoredProcedureName">存储过程名称</param>
218        /// <returns>返回DataTable</returns>

219        函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable
220        public DataTable RunStoreDataTable(string StoredProcedureName)
221        {    
222            SetCommand(StoredProcedureName,2);        //设置command
223            SqlDataAdapter da = new SqlDataAdapter(cm);
224            try
225            {
226                DataTable dt = new DataTable();
227                da.Fill(dt);
228                return dt;
229            }

230            catch(Exception ex)
231            {
232                SetErrorMsg("RunStoreDataTable",StoredProcedureName,ex.Message );    //处理错误
233                return null;
234            }

235            finally
236            {
237                da.Dispose();
238            }

239        }

240        #endregion

241        
242        /**//// <summary>
243        /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作
244        /// </summary>
245        /// <param name="ParameterName">存储过程名称</param>
246        /// <returns></returns>

247        public void RunStore(string StoredProcedureName)
248        {    
249            SetCommand(StoredProcedureName,2);        //设置command
250            try
251            {
252                if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )
253                    cm.Connection.Open();
254                cm.ExecuteNonQuery();
255            }

256            catch(Exception ex)
257            {
258                SetErrorMsg("RunStore",StoredProcedureName,ex.Message );    //处理错误
259            }

260            finally
261            {
262                if (!isUseTrans)
263                    cm.Connection.Close();
264            }

265
266        }

267
268        #endregion

269

 

 

下载全部源文件。 

http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html

相关文章
|
12月前
|
存储
SQLServer存储过程中的输出参数的使用
SQLServer存储过程中的输出参数的使用
54 0
|
2月前
|
JSON 数据格式 Java
化繁为简的魔法:Struts 2 与 JSON 联手打造超流畅数据交换体验,让应用飞起来!
【8月更文挑战第31天】在现代 Web 开发中,JSON 成为数据交换的主流格式,以其轻量、易读和易解析的特点受到青睐。Struts 2 内置对 JSON 的支持,结合 Jackson 库可便捷实现数据传输。本文通过具体示例展示了如何在 Struts 2 中进行 JSON 数据的序列化与反序列化,并结合 AJAX 技术提升 Web 应用的响应速度和用户体验。
76 0
|
4月前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
145 0
|
10月前
|
存储 SQL 关系型数据库
MySQL中不同类型参数存储过程示例
MySQL中不同类型参数存储过程示例
114 0
|
存储 SQL 关系型数据库
【MySQL速通篇003】MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql 2
【MySQL速通篇003】MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql 2
331 0
|
存储 SQL NoSQL
【MySQL速通篇003】MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql 1
【MySQL速通篇003】MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql 1
479 0
|
存储 SQL NoSQL
争议?MySQL存储过程与函数,封装,体,完整详细可收藏
争议?MySQL存储过程与函数,封装,体,完整详细可收藏
265 1
争议?MySQL存储过程与函数,封装,体,完整详细可收藏
|
存储 SQL
sql server 存储过程传递表名参数及Dynamic SQL
sql server 存储过程传递表名参数及Dynamic SQL
sql server 存储过程传递表名参数及Dynamic SQL
|
存储 SQL 关系型数据库
MySQL的存储过程——输入参数(in)、输出参数(out)、输入输出参数(inout)
MySQL的存储过程——输入参数(in)、输出参数(out)、输入输出参数(inout)
1983 0
MySQL的存储过程——输入参数(in)、输出参数(out)、输入输出参数(inout)
|
存储 关系型数据库 MySQL
【MySQL】使用pdo调用存储过程 --带参数输出
【MySQL】使用pdo调用存储过程 --带参数输出
178 0
【MySQL】使用pdo调用存储过程 --带参数输出