我的数据访问函数库的源代码(四)—— 存储过程部分,包括存储过程的参数的封装
2006-08-16 04:34 金色海洋(jyk) 阅读(1499) 评论(2) 收藏 举报
        
        存储过程部分,包括存储过程的参数。
    
/* 2008 4 25 更新 */
我的数据访问函数库的源码。整个类有1400行,原先就是分开来写的,现在更新后还是分开来发一下吧。
第四部分:存储过程部分,包括存储过程的参数 ,主要是对存储过程的参数的封装。
,主要是对存储过程的参数的封装。
我的数据访问函数库的源码。整个类有1400行,原先就是分开来写的,现在更新后还是分开来发一下吧。
第四部分:存储过程部分,包括存储过程的参数
  1 //存储过程的参数部分
//存储过程的参数部分
2
 存储过程的参数部分——清除和添加参数#region 存储过程的参数部分——清除和添加参数
        存储过程的参数部分——清除和添加参数#region 存储过程的参数部分——清除和添加参数
3
4
 清除参数#region 清除参数
        清除参数#region 清除参数
5
 /**//// <summary>
        /**//// <summary>
6 /// 清除SqlCommand的存储过程的参数。
        /// 清除SqlCommand的存储过程的参数。
7 /// </summary>
        /// </summary>
8 public void ClearParameter()
        public void ClearParameter()
9
 
         {cm.Parameters.Clear();}
{cm.Parameters.Clear();}
10 #endregion
        #endregion
11 
    
12 //int:        tinyint、smallint
        //int:        tinyint、smallint
13 //bigint:
        //bigint:
14 //bool:    bit
        //bool:    bit
15 //double:    float、real
        //double:    float、real
16 //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime
        //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime
17 //string:    ntext、text
        //string:    ntext、text
18
19 //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
        //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
20 //numeric:功能上等同于 decimal。
        //numeric:功能上等同于 decimal。
21 //decimal:    smallmoney、money
        //decimal:    smallmoney、money
22
23 //二进制
        //二进制
24 //            binary、varbinary、image
        //            binary、varbinary、image
25
26
 输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、
        输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、
27
 int#region int
        int#region int
28
 /**//// <summary>
        /**//// <summary>
29 /// 添加int型的参数。
        /// 添加int型的参数。
30 /// </summary>
        /// </summary>
31 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
32 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
33 public void addNewParameter(string ParameterName,int ParameterValue)
        public void addNewParameter(string ParameterName,int ParameterValue)
34
 
         {
{        
35 cm.Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数
36 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
37 //设置方向取默认值——输入
            //设置方向取默认值——输入
38 }
        }
39 #endregion
        #endregion 
40 
    
41
 double#region double
        double#region double
42
 /**//// <summary>
        /**//// <summary>
43 /// 添加小数参数,double
        /// 添加小数参数,double
44 /// </summary>
        /// </summary>
45 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
46 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
47 public void addNewParameter(string ParameterName,double ParameterValue )
        public void addNewParameter(string ParameterName,double ParameterValue )
48
 
         {
{        
49 cm.Parameters.Add(ParameterName,SqlDbType.Float );            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Float );            //添加存储过程的参数
50 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
51 }
        }
52 #endregion
        #endregion 
53 
    
54
 decimal#region decimal
        decimal#region decimal
55
 /**//// <summary>
        /**//// <summary>
56 /// 添加金额参数,方向是输入(input)。decimal
        /// 添加金额参数,方向是输入(input)。decimal
57 /// </summary>
        /// </summary>
58 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
59 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
60 public void addNewParameter(string ParameterName,decimal ParameterValue )
        public void addNewParameter(string ParameterName,decimal ParameterValue )
61
 
         {
{        
62 cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
63 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
64 }
        }
65 #endregion
        #endregion 
66 
    
67
 nvarChar#region nvarChar
        nvarChar#region nvarChar
68
 /**//// <summary>
        /**//// <summary>
69 /// 添加nvarChar型的参数。方向是输入(input)
        /// 添加nvarChar型的参数。方向是输入(input)
70 /// </summary>
        /// </summary>
71 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
72 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
73 /// <param name="size">参数大小</param>
        /// <param name="size">参数大小</param>
74 public void addNewParameter(string ParameterName,string ParameterValue,int size)
        public void addNewParameter(string ParameterName,string ParameterValue,int size)
75
 
         {
{        
76 cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);            //添加存储过程的参数
77 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
78 }
        }
79 #endregion
        #endregion 
80 
    
81
 nText#region nText
        nText#region nText
82
 /**//// <summary>
        /**//// <summary>
83 /// 添加nText型的参数。方向是输入(input)
        /// 添加nText型的参数。方向是输入(input)
84 /// </summary>
        /// </summary>
85 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
86 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
87 public   void addNewParameter(string ParameterName,string ParameterValue)
        public   void addNewParameter(string ParameterName,string ParameterValue)
88
 
         {
{        
89 cm.Parameters.Add(ParameterName,SqlDbType.NText);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.NText);            //添加存储过程的参数
90 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
91 }
        }
92
93 #endregion
        #endregion 
94 
    
95
 bit#region bit
        bit#region bit
96
 /**//// <summary>
        /**//// <summary>
97 /// 添加bit型的参数。方向是输入(input)
        /// 添加bit型的参数。方向是输入(input)
98 /// </summary>
        /// </summary>
99 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
100 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>
101 public   void addNewParameter(string ParameterName,bool ParameterValue)
        public   void addNewParameter(string ParameterName,bool ParameterValue)
102
 
         {
{        
103 cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
104 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
105 }
        }
106 #endregion
        #endregion 
107 
    
108 #endregion
        #endregion
109
110
 输出型的参数#region 输出型的参数
        输出型的参数#region 输出型的参数 
111 
        
112
 /**//// <summary>
        /**//// <summary>
113 /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。
        /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。
114 /// </summary>
        /// </summary>
115 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
116 /// <param name="ParameterValue">参数的类型</param>
        /// <param name="ParameterValue">参数的类型</param>
117 public void addNewParameter(string ParameterName,HBS.ParameterKind kind)
        public void addNewParameter(string ParameterName,HBS.ParameterKind kind)
118
 
         {
{
119 switch(kind)
            switch(kind)
120
 
             {
{
121 case ParameterKind.Int :
                case ParameterKind.Int :
122 cm.Parameters.Add(ParameterName,SqlDbType.Int);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Int);            //添加存储过程的参数
123 break;
                    break;
124 case ParameterKind.Double:
                case ParameterKind.Double:
125 cm.Parameters.Add(ParameterName,SqlDbType.Float);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Float);            //添加存储过程的参数
126 break;
                    break;
127 case ParameterKind.Decimal :
                case ParameterKind.Decimal :
128 cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
129 break;
                    break;
130 case ParameterKind.NVarChar :
                case ParameterKind.NVarChar :
131 cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,4000);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,4000);            //添加存储过程的参数
132 break;
                    break;
133 case ParameterKind.Bit :
                case ParameterKind.Bit :
134 cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
135 break;
                    break;
136 }
            }
137 cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向
            cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向
138 }
        }
139 
        
140 #endregion
        #endregion
141
142 #endregion
        #endregion
143
144
 存储过程的参数部分——取参数的返回值#region 存储过程的参数部分——取参数的返回值
        存储过程的参数部分——取参数的返回值#region 存储过程的参数部分——取参数的返回值
145
146
 /**//// <summary>
        /**//// <summary>
147 /// 按序号返回参数值,一般在执行完存储过程后使用
        /// 按序号返回参数值,一般在执行完存储过程后使用
148 /// </summary>
        /// </summary>
149 /// <param name="ParameterIndex">序号</param>
        /// <param name="ParameterIndex">序号</param>
150 /// <returns>返回参数的内容</returns>
        /// <returns>返回参数的内容</returns>
151 public string getParameter(int ParameterIndex)
        public string getParameter(int ParameterIndex)
152
 
         {
{        
153 return cm.Parameters[ParameterIndex].Value.ToString();
            return cm.Parameters[ParameterIndex].Value.ToString();
154 }
        }
155
156
 /**//// <summary>
        /**//// <summary>
157 /// 按名称返回参数值,一般在执行完存储过程后使用
        /// 按名称返回参数值,一般在执行完存储过程后使用
158 /// </summary>
        /// </summary>
159 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
160 /// <returns>返回参数的内容</returns>
        /// <returns>返回参数的内容</returns>
161 public   string getParameter(string ParameterName)
        public   string getParameter(string ParameterName)
162
 
         {
{        
163 return cm.Parameters[ParameterName].Value.ToString();
            return cm.Parameters[ParameterName].Value.ToString();
164 }
        }
165 #endregion
        #endregion
166
167
 存储过程的参数部分——修改参数值#region 存储过程的参数部分——修改参数值
        存储过程的参数部分——修改参数值#region 存储过程的参数部分——修改参数值
168
 /**//// <summary>
        /**//// <summary>
169 /// 按序号修改参数值,一般在一次添加多条记录时用。
        /// 按序号修改参数值,一般在一次添加多条记录时用。
170 /// </summary>
        /// </summary>
171 /// <param name="ParameterIndex">序号</param>
        /// <param name="ParameterIndex">序号</param>
172 public void setParameter(int ParameterIndex,string parameterValue)
        public void setParameter(int ParameterIndex,string parameterValue)
173
 
         {    cm.Parameters[ParameterIndex].Value = parameterValue;}
{    cm.Parameters[ParameterIndex].Value = parameterValue;}
174
175
 /**//// <summary>
        /**//// <summary>
176 /// 按名称修改参数值,一般在一次添加多条记录时用
        /// 按名称修改参数值,一般在一次添加多条记录时用
177 /// </summary>
        /// </summary>
178 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>
179 public void setParameter(string ParameterName,string parameterValue)
        public void setParameter(string ParameterName,string parameterValue)
180
 
         {    cm.Parameters[ParameterName].Value = parameterValue;}
{    cm.Parameters[ParameterName].Value = parameterValue;}
181 #endregion
        #endregion
182
183 //存储过程部分
        //存储过程部分
184
 运行存储过程返回记录(DataSet、DataTable、不返回记录集)#region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)
        运行存储过程返回记录(DataSet、DataTable、不返回记录集)#region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)
185
186
 /**//// <summary>
        /**//// <summary>
187 /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)
        /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)
188 /// </summary>
        /// </summary>
189 /// <param name="StoredProcedureName">存储过程名称</param>
        /// <param name="StoredProcedureName">存储过程名称</param>
190 /// <returns>返回DataSet</returns>
        /// <returns>返回DataSet</returns>
191
 函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet
        函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet
192 public DataSet RunStoreDataSet(string StoredProcedureName)
        public DataSet RunStoreDataSet(string StoredProcedureName)
193
 
         {
{    
194 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command
195 SqlDataAdapter da = new SqlDataAdapter(cm);
            SqlDataAdapter da = new SqlDataAdapter(cm);
196 try
            try
197
 
             {
{
198 DataSet DS = new DataSet();
                DataSet DS = new DataSet();
199 da.Fill(DS);
                da.Fill(DS);
200 return DS;
                return DS;
201 }
            }
202 catch(Exception ex)
            catch(Exception ex)
203
 
             {
{
204 SetErrorMsg("RunStoreDataSet",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStoreDataSet",StoredProcedureName,ex.Message );    //处理错误
205 return null;
                return null;
206 }
            }
207 finally
            finally
208
 
             {
{
209 da.Dispose();
                da.Dispose();
210 }
            }
211 }
        }
212 #endregion
        #endregion
213
214
 /**//// <summary>
        /**//// <summary>
215 /// 运行存储过程返回DataTable。
        /// 运行存储过程返回DataTable。
216 /// </summary>
        /// </summary>
217 /// <param name="StoredProcedureName">存储过程名称</param>
        /// <param name="StoredProcedureName">存储过程名称</param>
218 /// <returns>返回DataTable</returns>
        /// <returns>返回DataTable</returns>
219
 函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable
        函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable
220 public DataTable RunStoreDataTable(string StoredProcedureName)
        public DataTable RunStoreDataTable(string StoredProcedureName)
221
 
         {
{    
222 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command
223 SqlDataAdapter da = new SqlDataAdapter(cm);
            SqlDataAdapter da = new SqlDataAdapter(cm);
224 try
            try
225
 
             {
{
226 DataTable dt = new DataTable();
                DataTable dt = new DataTable();
227 da.Fill(dt);
                da.Fill(dt);
228 return dt;
                return dt;
229 }
            }
230 catch(Exception ex)
            catch(Exception ex)
231
 
             {
{
232 SetErrorMsg("RunStoreDataTable",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStoreDataTable",StoredProcedureName,ex.Message );    //处理错误
233 return null;
                return null;
234 }
            }
235 finally
            finally
236
 
             {
{
237 da.Dispose();
                da.Dispose();
238 }
            }
239 }
        }
240 #endregion
        #endregion
241 
        
242
 /**//// <summary>
        /**//// <summary>
243 /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作
        /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作
244 /// </summary>
        /// </summary>
245 /// <param name="ParameterName">存储过程名称</param>
        /// <param name="ParameterName">存储过程名称</param>
246 /// <returns></returns>
        /// <returns></returns>
247 public void RunStore(string StoredProcedureName)
        public void RunStore(string StoredProcedureName)
248
 
         {
{    
249 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command
250 try
            try
251
 
             {
{
252 if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )
                if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )
253 cm.Connection.Open();
                    cm.Connection.Open();
254 cm.ExecuteNonQuery();
                cm.ExecuteNonQuery();
255 }
            }
256 catch(Exception ex)
            catch(Exception ex)
257
 
             {
{
258 SetErrorMsg("RunStore",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStore",StoredProcedureName,ex.Message );    //处理错误
259 }
            }
260 finally
            finally
261
 
             {
{
262 if (!isUseTrans)
                if (!isUseTrans)
263 cm.Connection.Close();
                    cm.Connection.Close();
264 }
            }
265
266 }
        }
267
268 #endregion
        #endregion
269
 //存储过程的参数部分
//存储过程的参数部分2

 存储过程的参数部分——清除和添加参数#region 存储过程的参数部分——清除和添加参数
        存储过程的参数部分——清除和添加参数#region 存储过程的参数部分——清除和添加参数3

4

 清除参数#region 清除参数
        清除参数#region 清除参数5

 /**//// <summary>
        /**//// <summary>6
 /// 清除SqlCommand的存储过程的参数。
        /// 清除SqlCommand的存储过程的参数。7
 /// </summary>
        /// </summary>8
 public void ClearParameter()
        public void ClearParameter()9

 
         {cm.Parameters.Clear();}
{cm.Parameters.Clear();}10
 #endregion
        #endregion11
 
    12
 //int:        tinyint、smallint
        //int:        tinyint、smallint13
 //bigint:
        //bigint:14
 //bool:    bit
        //bool:    bit15
 //double:    float、real
        //double:    float、real16
 //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime
        //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime17
 //string:    ntext、text
        //string:    ntext、text18

19
 //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
        //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。20
 //numeric:功能上等同于 decimal。
        //numeric:功能上等同于 decimal。21
 //decimal:    smallmoney、money
        //decimal:    smallmoney、money22

23
 //二进制
        //二进制24
 //            binary、varbinary、image
        //            binary、varbinary、image25

26

 输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、
        输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、27

 int#region int
        int#region int28

 /**//// <summary>
        /**//// <summary>29
 /// 添加int型的参数。
        /// 添加int型的参数。30
 /// </summary>
        /// </summary>31
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>32
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>33
 public void addNewParameter(string ParameterName,int ParameterValue)
        public void addNewParameter(string ParameterName,int ParameterValue)34

 
         {
{        35
 cm.Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数36
 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值37
 //设置方向取默认值——输入
            //设置方向取默认值——输入38
 }
        }39
 #endregion
        #endregion 40
 
    41

 double#region double
        double#region double42

 /**//// <summary>
        /**//// <summary>43
 /// 添加小数参数,double
        /// 添加小数参数,double44
 /// </summary>
        /// </summary>45
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>46
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>47
 public void addNewParameter(string ParameterName,double ParameterValue )
        public void addNewParameter(string ParameterName,double ParameterValue )48

 
         {
{        49
 cm.Parameters.Add(ParameterName,SqlDbType.Float );            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Float );            //添加存储过程的参数50
 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值51
 }
        }52
 #endregion
        #endregion 53
 
    54

 decimal#region decimal
        decimal#region decimal55

 /**//// <summary>
        /**//// <summary>56
 /// 添加金额参数,方向是输入(input)。decimal
        /// 添加金额参数,方向是输入(input)。decimal57
 /// </summary>
        /// </summary>58
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>59
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>60
 public void addNewParameter(string ParameterName,decimal ParameterValue )
        public void addNewParameter(string ParameterName,decimal ParameterValue )61

 
         {
{        62
 cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数63
 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值64
 }
        }65
 #endregion
        #endregion 66
 
    67

 nvarChar#region nvarChar
        nvarChar#region nvarChar68

 /**//// <summary>
        /**//// <summary>69
 /// 添加nvarChar型的参数。方向是输入(input)
        /// 添加nvarChar型的参数。方向是输入(input)70
 /// </summary>
        /// </summary>71
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>72
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>73
 /// <param name="size">参数大小</param>
        /// <param name="size">参数大小</param>74
 public void addNewParameter(string ParameterName,string ParameterValue,int size)
        public void addNewParameter(string ParameterName,string ParameterValue,int size)75

 
         {
{        76
 cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,size);            //添加存储过程的参数77
 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值78
 }
        }79
 #endregion
        #endregion 80
 
    81

 nText#region nText
        nText#region nText82

 /**//// <summary>
        /**//// <summary>83
 /// 添加nText型的参数。方向是输入(input)
        /// 添加nText型的参数。方向是输入(input)84
 /// </summary>
        /// </summary>85
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>86
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>87
 public   void addNewParameter(string ParameterName,string ParameterValue)
        public   void addNewParameter(string ParameterName,string ParameterValue)88

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

93
 #endregion
        #endregion 94
 
    95

 bit#region bit
        bit#region bit96

 /**//// <summary>
        /**//// <summary>97
 /// 添加bit型的参数。方向是输入(input)
        /// 添加bit型的参数。方向是输入(input)98
 /// </summary>
        /// </summary>99
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>100
 /// <param name="ParameterValue">参数值</param>
        /// <param name="ParameterValue">参数值</param>101
 public   void addNewParameter(string ParameterName,bool ParameterValue)
        public   void addNewParameter(string ParameterName,bool ParameterValue)102

 
         {
{        103
 cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
            cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数104
 cm.Parameters[ParameterName].Value=ParameterValue;            //负值
            cm.Parameters[ParameterName].Value=ParameterValue;            //负值105
 }
        }106
 #endregion
        #endregion 107
 
    108
 #endregion
        #endregion109

110

 输出型的参数#region 输出型的参数
        输出型的参数#region 输出型的参数 111
 
        112

 /**//// <summary>
        /**//// <summary>113
 /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。
        /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。114
 /// </summary>
        /// </summary>115
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>116
 /// <param name="ParameterValue">参数的类型</param>
        /// <param name="ParameterValue">参数的类型</param>117
 public void addNewParameter(string ParameterName,HBS.ParameterKind kind)
        public void addNewParameter(string ParameterName,HBS.ParameterKind kind)118

 
         {
{119
 switch(kind)
            switch(kind)120

 
             {
{121
 case ParameterKind.Int :
                case ParameterKind.Int :122
 cm.Parameters.Add(ParameterName,SqlDbType.Int);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Int);            //添加存储过程的参数123
 break;
                    break;124
 case ParameterKind.Double:
                case ParameterKind.Double:125
 cm.Parameters.Add(ParameterName,SqlDbType.Float);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Float);            //添加存储过程的参数126
 break;
                    break;127
 case ParameterKind.Decimal :
                case ParameterKind.Decimal :128
 cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Decimal);            //添加存储过程的参数129
 break;
                    break;130
 case ParameterKind.NVarChar :
                case ParameterKind.NVarChar :131
 cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,4000);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.NVarChar,4000);            //添加存储过程的参数132
 break;
                    break;133
 case ParameterKind.Bit :
                case ParameterKind.Bit :134
 cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数
                    cm.Parameters.Add(ParameterName,SqlDbType.Bit);            //添加存储过程的参数135
 break;
                    break;136
 }
            }137
 cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向
            cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向138
 }
        }139
 
        140
 #endregion
        #endregion141

142
 #endregion
        #endregion143

144

 存储过程的参数部分——取参数的返回值#region 存储过程的参数部分——取参数的返回值
        存储过程的参数部分——取参数的返回值#region 存储过程的参数部分——取参数的返回值145

146

 /**//// <summary>
        /**//// <summary>147
 /// 按序号返回参数值,一般在执行完存储过程后使用
        /// 按序号返回参数值,一般在执行完存储过程后使用148
 /// </summary>
        /// </summary>149
 /// <param name="ParameterIndex">序号</param>
        /// <param name="ParameterIndex">序号</param>150
 /// <returns>返回参数的内容</returns>
        /// <returns>返回参数的内容</returns>151
 public string getParameter(int ParameterIndex)
        public string getParameter(int ParameterIndex)152

 
         {
{        153
 return cm.Parameters[ParameterIndex].Value.ToString();
            return cm.Parameters[ParameterIndex].Value.ToString();154
 }
        }155

156

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

 
         {
{        163
 return cm.Parameters[ParameterName].Value.ToString();
            return cm.Parameters[ParameterName].Value.ToString();164
 }
        }165
 #endregion
        #endregion166

167

 存储过程的参数部分——修改参数值#region 存储过程的参数部分——修改参数值
        存储过程的参数部分——修改参数值#region 存储过程的参数部分——修改参数值168

 /**//// <summary>
        /**//// <summary>169
 /// 按序号修改参数值,一般在一次添加多条记录时用。
        /// 按序号修改参数值,一般在一次添加多条记录时用。170
 /// </summary>
        /// </summary>171
 /// <param name="ParameterIndex">序号</param>
        /// <param name="ParameterIndex">序号</param>172
 public void setParameter(int ParameterIndex,string parameterValue)
        public void setParameter(int ParameterIndex,string parameterValue)173

 
         {    cm.Parameters[ParameterIndex].Value = parameterValue;}
{    cm.Parameters[ParameterIndex].Value = parameterValue;}174

175

 /**//// <summary>
        /**//// <summary>176
 /// 按名称修改参数值,一般在一次添加多条记录时用
        /// 按名称修改参数值,一般在一次添加多条记录时用177
 /// </summary>
        /// </summary>178
 /// <param name="ParameterName">参数名称。比如 @UserName</param>
        /// <param name="ParameterName">参数名称。比如 @UserName</param>179
 public void setParameter(string ParameterName,string parameterValue)
        public void setParameter(string ParameterName,string parameterValue)180

 
         {    cm.Parameters[ParameterName].Value = parameterValue;}
{    cm.Parameters[ParameterName].Value = parameterValue;}181
 #endregion
        #endregion182

183
 //存储过程部分
        //存储过程部分184

 运行存储过程返回记录(DataSet、DataTable、不返回记录集)#region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)
        运行存储过程返回记录(DataSet、DataTable、不返回记录集)#region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)185

186

 /**//// <summary>
        /**//// <summary>187
 /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)
        /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)188
 /// </summary>
        /// </summary>189
 /// <param name="StoredProcedureName">存储过程名称</param>
        /// <param name="StoredProcedureName">存储过程名称</param>190
 /// <returns>返回DataSet</returns>
        /// <returns>返回DataSet</returns>191

 函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet
        函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet192
 public DataSet RunStoreDataSet(string StoredProcedureName)
        public DataSet RunStoreDataSet(string StoredProcedureName)193

 
         {
{    194
 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command195
 SqlDataAdapter da = new SqlDataAdapter(cm);
            SqlDataAdapter da = new SqlDataAdapter(cm);196
 try
            try197

 
             {
{198
 DataSet DS = new DataSet();
                DataSet DS = new DataSet();199
 da.Fill(DS);
                da.Fill(DS);200
 return DS;
                return DS;201
 }
            }202
 catch(Exception ex)
            catch(Exception ex)203

 
             {
{204
 SetErrorMsg("RunStoreDataSet",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStoreDataSet",StoredProcedureName,ex.Message );    //处理错误205
 return null;
                return null;206
 }
            }207
 finally
            finally208

 
             {
{209
 da.Dispose();
                da.Dispose();210
 }
            }211
 }
        }212
 #endregion
        #endregion213

214

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

 函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable
        函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable220
 public DataTable RunStoreDataTable(string StoredProcedureName)
        public DataTable RunStoreDataTable(string StoredProcedureName)221

 
         {
{    222
 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command223
 SqlDataAdapter da = new SqlDataAdapter(cm);
            SqlDataAdapter da = new SqlDataAdapter(cm);224
 try
            try225

 
             {
{226
 DataTable dt = new DataTable();
                DataTable dt = new DataTable();227
 da.Fill(dt);
                da.Fill(dt);228
 return dt;
                return dt;229
 }
            }230
 catch(Exception ex)
            catch(Exception ex)231

 
             {
{232
 SetErrorMsg("RunStoreDataTable",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStoreDataTable",StoredProcedureName,ex.Message );    //处理错误233
 return null;
                return null;234
 }
            }235
 finally
            finally236

 
             {
{237
 da.Dispose();
                da.Dispose();238
 }
            }239
 }
        }240
 #endregion
        #endregion241
 
        242

 /**//// <summary>
        /**//// <summary>243
 /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作
        /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作244
 /// </summary>
        /// </summary>245
 /// <param name="ParameterName">存储过程名称</param>
        /// <param name="ParameterName">存储过程名称</param>246
 /// <returns></returns>
        /// <returns></returns>247
 public void RunStore(string StoredProcedureName)
        public void RunStore(string StoredProcedureName)248

 
         {
{    249
 SetCommand(StoredProcedureName,2);        //设置command
            SetCommand(StoredProcedureName,2);        //设置command250
 try
            try251

 
             {
{252
 if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )
                if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )253
 cm.Connection.Open();
                    cm.Connection.Open();254
 cm.ExecuteNonQuery();
                cm.ExecuteNonQuery();255
 }
            }256
 catch(Exception ex)
            catch(Exception ex)257

 
             {
{258
 SetErrorMsg("RunStore",StoredProcedureName,ex.Message );    //处理错误
                SetErrorMsg("RunStore",StoredProcedureName,ex.Message );    //处理错误259
 }
            }260
 finally
            finally261

 
             {
{262
 if (!isUseTrans)
                if (!isUseTrans)263
 cm.Connection.Close();
                    cm.Connection.Close();264
 }
            }265

266
 }
        }267

268
 #endregion
        #endregion269

下载全部源文件。
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号