我的数据访问类(第二版)—— for .net2.0 (二)


下面写一下相对来说不变的地方

SQL语句部分,改成了静态函数的形式。

  1我的数据访问类(第二版)—— for .net2.0 (二)using System;
  2我的数据访问类(第二版)—— for .net2.0 (二)using System.Collections.Generic;
  3我的数据访问类(第二版)—— for .net2.0 (二)using System.Text;
  4我的数据访问类(第二版)—— for .net2.0 (二)using System.Data;
  5我的数据访问类(第二版)—— for .net2.0 (二)using System.Data.Common;
  6我的数据访问类(第二版)—— for .net2.0 (二)using System.Data.SqlClient;
  7我的数据访问类(第二版)—— for .net2.0 (二)using JYK;
  8我的数据访问类(第二版)—— for .net2.0 (二)
  9我的数据访问类(第二版)—— for .net2.0 (二)namespace JYK.DataAccessLibrary
 10我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二){
 11我的数据访问类(第二版)—— for .net2.0 (二)    //DataAccessLibrary 数据访问库
 12我的数据访问类(第二版)—— for .net2.0 (二)   
 13我的数据访问类(第二版)—— for .net2.0 (二)    public class DAL
 14我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)    我的数据访问类(第二版)—— for .net2.0 (二){
 15我的数据访问类(第二版)—— for .net2.0 (二)       
 16我的数据访问类(第二版)—— for .net2.0 (二)        //查询语句部分
 17我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        运行查询语句返回记录(DataSet、DataTable、DataRow、String[]、String)#region 运行查询语句返回记录(DataSet、DataTable、DataRow、String[]、String)
 18我的数据访问类(第二版)—— for .net2.0 (二)
 19我的数据访问类(第二版)—— for .net2.0 (二)        public static DataSet RunSqlDataSet(string sql)
 20我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 21我的数据访问类(第二版)—— for .net2.0 (二)            string msg = "";
 22我的数据访问类(第二版)—— for .net2.0 (二)            return RunSqlDataSet(sql, out msg);
 23我的数据访问类(第二版)—— for .net2.0 (二)        }
 24我的数据访问类(第二版)—— for .net2.0 (二)
 25我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 26我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQL查询语句 返回DataSet。可以传入多条查询语句,返回的DataSet里会有多个DataTable
 27我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 28我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select * from tableName
 29我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回DataSet
 30我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlDataSet#region 函数实现 — — RunSqlDataSet
 31我的数据访问类(第二版)—— for .net2.0 (二)        public static DataSet RunSqlDataSet(string sql,out string ErrorMsg)
 32我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 33我的数据访问类(第二版)—— for .net2.0 (二)            ErrorMsg = "";
 34我的数据访问类(第二版)—— for .net2.0 (二)            //设置DataAdapter 
 35我的数据访问类(第二版)—— for .net2.0 (二)            DbDataAdapter da = Factory.CreateDataAdapter(sql);
 36我的数据访问类(第二版)—— for .net2.0 (二)            try
 37我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 38我的数据访问类(第二版)—— for .net2.0 (二)                DataSet DS = new DataSet();
 39我的数据访问类(第二版)—— for .net2.0 (二)                da.Fill(DS);
 40我的数据访问类(第二版)—— for .net2.0 (二)                return DS;
 41我的数据访问类(第二版)—— for .net2.0 (二)            }
 42我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
 43我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 44我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlDataSet", sql, ex.Message);    //处理错误
 45我的数据访问类(第二版)—— for .net2.0 (二)                ErrorMsg = ex.Message + "
RunSqlDataSet_SQL:" + sql;
 46我的数据访问类(第二版)—— for .net2.0 (二)                return null;
 47我的数据访问类(第二版)—— for .net2.0 (二)            }
 48我的数据访问类(第二版)—— for .net2.0 (二)            finally
 49我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 50我的数据访问类(第二版)—— for .net2.0 (二)                //关闭数据库,销毁实例
 51我的数据访问类(第二版)—— for .net2.0 (二)                Factory.DbDataAdapterDispose(da);
 52我的数据访问类(第二版)—— for .net2.0 (二)                
 53我的数据访问类(第二版)—— for .net2.0 (二)            }
 54我的数据访问类(第二版)—— for .net2.0 (二)        }
 55我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
 56我的数据访问类(第二版)—— for .net2.0 (二)
 57我的数据访问类(第二版)—— for .net2.0 (二)
 58我的数据访问类(第二版)—— for .net2.0 (二)        public static DataTable RunSqlDataTable(string sql)
 59我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 60我的数据访问类(第二版)—— for .net2.0 (二)            string msg = "";
 61我的数据访问类(第二版)—— for .net2.0 (二)            return RunSqlDataTable(sql, out msg);
 62我的数据访问类(第二版)—— for .net2.0 (二)       
 63我的数据访问类(第二版)—— for .net2.0 (二)        }
 64我的数据访问类(第二版)—— for .net2.0 (二)
 65我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 66我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQL查询语句 返回DataTable。
 67我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 68我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select * from tableName
 69我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回DataTable
 70我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlDataTable#region 函数实现 — — RunSqlDataTable
 71我的数据访问类(第二版)—— for .net2.0 (二)        public static DataTable RunSqlDataTable(string sql, out string ErrorMsg)
 72我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 73我的数据访问类(第二版)—— for .net2.0 (二)            ErrorMsg = "";
 74我的数据访问类(第二版)—— for .net2.0 (二)            //设置DataAdapter 
 75我的数据访问类(第二版)—— for .net2.0 (二)            DbDataAdapter da = Factory.CreateDataAdapter(sql);
 76我的数据访问类(第二版)—— for .net2.0 (二)            try
 77我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 78我的数据访问类(第二版)—— for .net2.0 (二)                DataTable DT = new DataTable();
 79我的数据访问类(第二版)—— for .net2.0 (二)                da.Fill(DT);
 80我的数据访问类(第二版)—— for .net2.0 (二)                return DT;
 81我的数据访问类(第二版)—— for .net2.0 (二)            }
 82我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
 83我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 84我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlDataTable", sql, ex.Message);    //处理错误
 85我的数据访问类(第二版)—— for .net2.0 (二)                ErrorMsg = ex.Message + "
RunSqlDataSet_SQL:" + sql;
 86我的数据访问类(第二版)—— for .net2.0 (二)                return null;
 87我的数据访问类(第二版)—— for .net2.0 (二)            }
 88我的数据访问类(第二版)—— for .net2.0 (二)            finally
 89我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
 90我的数据访问类(第二版)—— for .net2.0 (二)                //关闭数据库,销毁实例
 91我的数据访问类(第二版)—— for .net2.0 (二)                Factory.DbDataAdapterDispose(da);
 92我的数据访问类(第二版)—— for .net2.0 (二)            }
 93我的数据访问类(第二版)—— for .net2.0 (二)        }
 94我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
 95我的数据访问类(第二版)—— for .net2.0 (二)
 96我的数据访问类(第二版)—— for .net2.0 (二)
 97我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 98我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQl语句返回第一条记录。返回DataRow
 99我的数据访问类(第二版)—— for .net2.0 (二)        /// 
100我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select * from tableName
101我的数据访问类(第二版)—— for .net2.0 (二)        /// 
102我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlDataRow#region 函数实现 — — RunSqlDataRow
103我的数据访问类(第二版)—— for .net2.0 (二)        public static DataRow RunSqlDataRow(string sql)
104我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
105我的数据访问类(第二版)—— for .net2.0 (二)            //设置DataAdapter 
106我的数据访问类(第二版)—— for .net2.0 (二)            DbDataAdapter da = Factory.CreateDataAdapter(sql);
107我的数据访问类(第二版)—— for .net2.0 (二)            try
108我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
109我的数据访问类(第二版)—— for .net2.0 (二)                DataTable DT = new DataTable();
110我的数据访问类(第二版)—— for .net2.0 (二)                da.Fill(DT);
111我的数据访问类(第二版)—— for .net2.0 (二)                if (DT.Rows.Count > 0)
112我的数据访问类(第二版)—— for .net2.0 (二)                    return DT.Rows[0];
113我的数据访问类(第二版)—— for .net2.0 (二)                else
114我的数据访问类(第二版)—— for .net2.0 (二)                    return null;
115我的数据访问类(第二版)—— for .net2.0 (二)            }
116我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
117我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
118我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlDataRow", sql, ex.Message);    //处理错误
119我的数据访问类(第二版)—— for .net2.0 (二)                return null;
120我的数据访问类(第二版)—— for .net2.0 (二)            }
121我的数据访问类(第二版)—— for .net2.0 (二)            finally
122我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
123我的数据访问类(第二版)—— for .net2.0 (二)                //关闭数据库,销毁实例
124我的数据访问类(第二版)—— for .net2.0 (二)                Factory.DbDataAdapterDispose(da);
125我的数据访问类(第二版)—— for .net2.0 (二)            }
126我的数据访问类(第二版)—— for .net2.0 (二)
127我的数据访问类(第二版)—— for .net2.0 (二)        }
128我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
129我的数据访问类(第二版)—— for .net2.0 (二)
130我的数据访问类(第二版)—— for .net2.0 (二)
131我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
132我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQl语句返回第一条记录的数组。返回字符串数组
133我的数据访问类(第二版)—— for .net2.0 (二)        /// 
134我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select top 1 * from tableName
135我的数据访问类(第二版)—— for .net2.0 (二)        /// 
136我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlStrings#region 函数实现 — — RunSqlStrings
137我的数据访问类(第二版)—— for .net2.0 (二)        public static string[] RunSqlStrings(string sql)
138我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
139我的数据访问类(第二版)—— for .net2.0 (二)            //传入查询语句,返回第一条记录的字符串数组
140我的数据访问类(第二版)—— for .net2.0 (二)            //设置command
141我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(sql);
142我的数据访问类(第二版)—— for .net2.0 (二)            
143我的数据访问类(第二版)—— for .net2.0 (二)            try
144我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
145我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Open();
146我的数据访问类(第二版)—— for .net2.0 (二)
147我的数据访问类(第二版)—— for .net2.0 (二)                DbDataReader r = cm.ExecuteReader(CommandBehavior.SingleRow);
148我的数据访问类(第二版)—— for .net2.0 (二)                if (r.Read())
149我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)                我的数据访问类(第二版)—— for .net2.0 (二){
150我的数据访问类(第二版)—— for .net2.0 (二)                    int ArrLength = r.FieldCount;
151我的数据访问类(第二版)—— for .net2.0 (二)
152我的数据访问类(第二版)—— for .net2.0 (二)                    string[] strValue = new string[ArrLength];
153我的数据访问类(第二版)—— for .net2.0 (二)                    for (int i = 0; i < ArrLength; i++)
154我的数据访问类(第二版)—— for .net2.0 (二)                        strValue[i] = r.GetValue(i).ToString();
155我的数据访问类(第二版)—— for .net2.0 (二)                    return strValue;
156我的数据访问类(第二版)—— for .net2.0 (二)                }
157我的数据访问类(第二版)—— for .net2.0 (二)                else
158我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)                我的数据访问类(第二版)—— for .net2.0 (二){
159我的数据访问类(第二版)—— for .net2.0 (二)                    r.Close();
160我的数据访问类(第二版)—— for .net2.0 (二)                    return null;
161我的数据访问类(第二版)—— for .net2.0 (二)                }
162我的数据访问类(第二版)—— for .net2.0 (二)            }
163我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
164我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
165我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlStrings", sql, ex.Message);    //处理错误
166我的数据访问类(第二版)—— for .net2.0 (二)                return null;
167我的数据访问类(第二版)—— for .net2.0 (二)            }
168我的数据访问类(第二版)—— for .net2.0 (二)            finally
169我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
170我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
171我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Dispose();
172我的数据访问类(第二版)—— for .net2.0 (二)                cm.Dispose();
173我的数据访问类(第二版)—— for .net2.0 (二)
174我的数据访问类(第二版)—— for .net2.0 (二)            }
175我的数据访问类(第二版)—— for .net2.0 (二)        }
176我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
177我的数据访问类(第二版)—— for .net2.0 (二)
178我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
179我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQl语句返回每一条记录的第一个字段的数组。返回字符串数组
180我的数据访问类(第二版)—— for .net2.0 (二)        /// 
181我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select myName from tableName
182我的数据访问类(第二版)—— for .net2.0 (二)        /// 
183我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlStringsByRow#region 函数实现 — — RunSqlStringsByRow
184我的数据访问类(第二版)—— for .net2.0 (二)        public static string[] RunSqlStringsByRow(string sql)
185我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
186我的数据访问类(第二版)—— for .net2.0 (二)
187我的数据访问类(第二版)—— for .net2.0 (二)            //传入查询语句,每一条记录的第一个字段的数组。返回字符串数组
188我的数据访问类(第二版)—— for .net2.0 (二)            //设置command
189我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(sql);
190我的数据访问类(第二版)—— for .net2.0 (二)            
191我的数据访问类(第二版)—— for .net2.0 (二)            try
192我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
193我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Open();
194我的数据访问类(第二版)—— for .net2.0 (二)
195我的数据访问类(第二版)—— for .net2.0 (二)                DbDataReader r = cm.ExecuteReader();
196我的数据访问类(第二版)—— for .net2.0 (二)                
197我的数据访问类(第二版)—— for .net2.0 (二)                System.Collections.Generic.List<string> list = new List<string>();
198我的数据访问类(第二版)—— for .net2.0 (二)                while (r.Read())
199我的数据访问类(第二版)—— for .net2.0 (二)                    list.Add(r[0].ToString());
200我的数据访问类(第二版)—— for .net2.0 (二)
201我的数据访问类(第二版)—— for .net2.0 (二)                return list.ToArray();
202我的数据访问类(第二版)—— for .net2.0 (二)
203我的数据访问类(第二版)—— for .net2.0 (二)            }
204我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
205我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
206我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlStringsByRow", sql, ex.Message);    //处理错误
207我的数据访问类(第二版)—— for .net2.0 (二)                return null;
208我的数据访问类(第二版)—— for .net2.0 (二)            }
209我的数据访问类(第二版)—— for .net2.0 (二)            finally
210我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
211我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
212我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Dispose();
213我的数据访问类(第二版)—— for .net2.0 (二)                cm.Dispose();
214我的数据访问类(第二版)—— for .net2.0 (二)                
215我的数据访问类(第二版)—— for .net2.0 (二)            }
216我的数据访问类(第二版)—— for .net2.0 (二)        }
217我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
218我的数据访问类(第二版)—— for .net2.0 (二)
219我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
220我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQl语句返回第一条记录的第一列的值。
221我的数据访问类(第二版)—— for .net2.0 (二)        /// 
222我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select top 1 ID from tableName where userName='aa'。会返回ID的内容
223我的数据访问类(第二版)—— for .net2.0 (二)        /// 
224我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlGetID#region 函数实现 — — RunSqlGetID
225我的数据访问类(第二版)—— for .net2.0 (二)        public static string RunSqlGetID(string sql)
226我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
227我的数据访问类(第二版)—— for .net2.0 (二)            //设置command
228我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(sql);
229我的数据访问类(第二版)—— for .net2.0 (二)           
230我的数据访问类(第二版)—— for .net2.0 (二)            try
231我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
232我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Open();
233我的数据访问类(第二版)—— for .net2.0 (二)
234我的数据访问类(第二版)—— for .net2.0 (二)                DbDataReader r = cm.ExecuteReader(CommandBehavior.SingleRow);
235我的数据访问类(第二版)—— for .net2.0 (二)                if (r.Read())
236我的数据访问类(第二版)—— for .net2.0 (二)                    return r.GetValue(0).ToString();
237我的数据访问类(第二版)—— for .net2.0 (二)                else
238我的数据访问类(第二版)—— for .net2.0 (二)                    return null;
239我的数据访问类(第二版)—— for .net2.0 (二)            }
240我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
241我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
242我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlGetID", sql, ex.Message);    //处理错误
243我的数据访问类(第二版)—— for .net2.0 (二)                return null;
244我的数据访问类(第二版)—— for .net2.0 (二)            }
245我的数据访问类(第二版)—— for .net2.0 (二)            finally
246我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
247我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
248我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Dispose();
249我的数据访问类(第二版)—— for .net2.0 (二)                cm.Dispose();
250我的数据访问类(第二版)—— for .net2.0 (二)            }
251我的数据访问类(第二版)—— for .net2.0 (二)        }
252我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
253我的数据访问类(第二版)—— for .net2.0 (二)
254我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
255我的数据访问类(第二版)—— for .net2.0 (二)
256我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        运行查询语句不返回记录集(无返回记录、检查持否存在指定的记录)#region 运行查询语句不返回记录集(无返回记录、检查持否存在指定的记录)
257我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
258我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行SQL查询语句,不返回记录集。用于添加、修改、删除等操作
259我的数据访问类(第二版)—— for .net2.0 (二)        /// 
260我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如insert into tableName 、update tableName我的数据访问类(第二版)—— for .net2.0 (二)
261我的数据访问类(第二版)—— for .net2.0 (二)        /// 
262我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSql#region 函数实现 — — RunSql
263我的数据访问类(第二版)—— for .net2.0 (二)        public static void RunSql(string sql)
264我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
265我的数据访问类(第二版)—— for .net2.0 (二)            //设置command
266我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(sql);
267我的数据访问类(第二版)—— for .net2.0 (二)           
268我的数据访问类(第二版)—— for .net2.0 (二)            try
269我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
270我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Open();
271我的数据访问类(第二版)—— for .net2.0 (二)                cm.ExecuteNonQuery();
272我的数据访问类(第二版)—— for .net2.0 (二)            }
273我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
274我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
275我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSql", sql, ex.Message);    //处理错误
276我的数据访问类(第二版)—— for .net2.0 (二)            }
277我的数据访问类(第二版)—— for .net2.0 (二)            finally
278我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
279我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
280我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Dispose();
281我的数据访问类(第二版)—— for .net2.0 (二)                cm.Dispose();
282我的数据访问类(第二版)—— for .net2.0 (二)            }
283我的数据访问类(第二版)—— for .net2.0 (二)        }
284我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
285我的数据访问类(第二版)—— for .net2.0 (二)
286我的数据访问类(第二版)—— for .net2.0 (二)
287我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
288我的数据访问类(第二版)—— for .net2.0 (二)        /// 执行一条SQL语句,看是否能查到记录 有:返回true;没有返回false,用于判断是否重名
289我的数据访问类(第二版)—— for .net2.0 (二)        /// 
290我的数据访问类(第二版)—— for .net2.0 (二)        /// 查询语句。比如select ID from tableName where userName='aa'
291我的数据访问类(第二版)—— for .net2.0 (二)        /// 
292我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunSqlExists#region 函数实现 — — RunSqlExists
293我的数据访问类(第二版)—— for .net2.0 (二)        public static bool RunSqlExists(string sql)
294我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
295我的数据访问类(第二版)—— for .net2.0 (二)            //设置command
296我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(sql);
297我的数据访问类(第二版)—— for .net2.0 (二)           
298我的数据访问类(第二版)—— for .net2.0 (二)            try
299我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
300我的数据访问类(第二版)—— for .net2.0 (二)                if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed)
301我的数据访问类(第二版)—— for .net2.0 (二)                    cm.Connection.Open();
302我的数据访问类(第二版)—— for .net2.0 (二)
303我的数据访问类(第二版)—— for .net2.0 (二)                DbDataReader r = cm.ExecuteReader(CommandBehavior.CloseConnection);
304我的数据访问类(第二版)—— for .net2.0 (二)                if (r.HasRows)
305我的数据访问类(第二版)—— for .net2.0 (二)                    return true;
306我的数据访问类(第二版)—— for .net2.0 (二)                else
307我的数据访问类(第二版)—— for .net2.0 (二)                    return false;
308我的数据访问类(第二版)—— for .net2.0 (二)            }
309我的数据访问类(第二版)—— for .net2.0 (二)            catch (Exception ex)
310我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
311我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunSqlDataSet", sql, ex.Message);    //处理错误
312我的数据访问类(第二版)—— for .net2.0 (二)                return true;
313我的数据访问类(第二版)—— for .net2.0 (二)            }
314我的数据访问类(第二版)—— for .net2.0 (二)            finally
315我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
316我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
317我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Dispose();
318我的数据访问类(第二版)—— for .net2.0 (二)                cm.Dispose();
319我的数据访问类(第二版)—— for .net2.0 (二)            }
320我的数据访问类(第二版)—— for .net2.0 (二)        }
321我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
322我的数据访问类(第二版)—— for .net2.0 (二)
323我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
324我的数据访问类(第二版)—— for .net2.0 (二)
325我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        查询语句的方式添加、修改数据#region 查询语句的方式添加、修改数据
326我的数据访问类(第二版)—— for .net2.0 (二)
327我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
328我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加记录。传入表名,字段数组,值数组,返回新生成记录的ID
329我的数据访问类(第二版)—— for .net2.0 (二)        /// 
330我的数据访问类(第二版)—— for .net2.0 (二)        /// 要添加记录的表的名称
331我的数据访问类(第二版)—— for .net2.0 (二)        /// 字段名数组
332我的数据访问类(第二版)—— for .net2.0 (二)        /// 字段对应的值的数组
333我的数据访问类(第二版)—— for .net2.0 (二)        /// 
334我的数据访问类(第二版)—— for .net2.0 (二)        public static string InsertDataStr(string TableName, string[] columns, string[] msg)
335我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
336我的数据访问类(第二版)—— for .net2.0 (二)            //添加数据    返回新添加的ID
337我的数据访问类(第二版)—— for .net2.0 (二)            System.Text.StringBuilder SQL = new System.Text.StringBuilder(300);
338我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append("insert into ");                    //insert into 
339我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(TableName);
340我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(" (");
341我的数据访问类(第二版)—— for .net2.0 (二)            int i;
342我的数据访问类(第二版)—— for .net2.0 (二)            for (i = 0; i < columns.Length - 1; i++)        //字段
343我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
344我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append(columns[i]);
345我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append(",");
346我的数据访问类(第二版)—— for .net2.0 (二)            }
347我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(columns[i]);
348我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(")  values ('");
349我的数据访问类(第二版)—— for .net2.0 (二)
350我的数据访问类(第二版)—— for .net2.0 (二)            for (i = 0; i < columns.Length - 1; i++)
351我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
352我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append(msg[i]);
353我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append("','");
354我的数据访问类(第二版)—— for .net2.0 (二)            }
355我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(msg[i]);
356我的数据访问类(第二版)—— for .net2.0 (二)            if (WebConfig.DataBaseType() == 1)
357我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append("')  select scope_identity() as a1");
358我的数据访问类(第二版)—— for .net2.0 (二)            else
359我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append("')");
360我的数据访问类(第二版)—— for .net2.0 (二)
361我的数据访问类(第二版)—— for .net2.0 (二)            string re = RunSqlGetID(SQL.ToString());
362我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Length = 1;
363我的数据访问类(第二版)—— for .net2.0 (二)            if (re == null)
364我的数据访问类(第二版)—— for .net2.0 (二)                return "-1";
365我的数据访问类(第二版)—— for .net2.0 (二)            else
366我的数据访问类(第二版)—— for .net2.0 (二)                return re;
367我的数据访问类(第二版)—— for .net2.0 (二)        }
368我的数据访问类(第二版)—— for .net2.0 (二)
369我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
370我的数据访问类(第二版)—— for .net2.0 (二)        /// 修改记录。传入表名,字段数组,值数组 
371我的数据访问类(第二版)—— for .net2.0 (二)        /// 
372我的数据访问类(第二版)—— for .net2.0 (二)        /// 要修改记录的表的名称
373我的数据访问类(第二版)—— for .net2.0 (二)        /// 字段名数组
374我的数据访问类(第二版)—— for .net2.0 (二)        /// 字段对应的值的数组
375我的数据访问类(第二版)—— for .net2.0 (二)        /// 条件 ,加在where 后面的语句
376我的数据访问类(第二版)—— for .net2.0 (二)        /// 
377我的数据访问类(第二版)—— for .net2.0 (二)        public static bool UpdateData(string TableName, string[] cloumns, string[] msg, string myWhere)
378我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
379我的数据访问类(第二版)—— for .net2.0 (二)            System.Text.StringBuilder SQL = new System.Text.StringBuilder(300);
380我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append("update ");                    //update
381我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(TableName);
382我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(" set ");
383我的数据访问类(第二版)—— for .net2.0 (二)            int i;
384我的数据访问类(第二版)—— for .net2.0 (二)            for (i = 0; i < cloumns.Length - 1; i++)
385我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
386我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append(cloumns[i]);                    //update
387我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append("='");
388我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append(msg[i]);
389我的数据访问类(第二版)—— for .net2.0 (二)                SQL.Append("',");
390我的数据访问类(第二版)—— for .net2.0 (二)            }
391我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(cloumns[i]);                    //update
392我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append("='");
393我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(msg[i]);
394我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append("' where ");
395我的数据访问类(第二版)—— for .net2.0 (二)            SQL.Append(myWhere);
396我的数据访问类(第二版)—— for .net2.0 (二)
397我的数据访问类(第二版)—— for .net2.0 (二)            RunSql(SQL.ToString());
398我的数据访问类(第二版)—— for .net2.0 (二)            return true;
399我的数据访问类(第二版)—— for .net2.0 (二)
400我的数据访问类(第二版)—— for .net2.0 (二)        }
401我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
402我的数据访问类(第二版)—— for .net2.0 (二)
403我的数据访问类(第二版)—— for .net2.0 (二)    }
404我的数据访问类(第二版)—— for .net2.0 (二)}
405我的数据访问类(第二版)—— for .net2.0 (二)



存储过程的代码

  1我的数据访问类(第二版)—— for .net2.0 (二)using System;
  2我的数据访问类(第二版)—— for .net2.0 (二)using System.Collections.Generic;
  3我的数据访问类(第二版)—— for .net2.0 (二)using System.Text;
  4我的数据访问类(第二版)—— for .net2.0 (二)using System.Data;
  5我的数据访问类(第二版)—— for .net2.0 (二)using System.Data.Common;
  6我的数据访问类(第二版)—— for .net2.0 (二)using JYK;
  7我的数据访问类(第二版)—— for .net2.0 (二)
  8我的数据访问类(第二版)—— for .net2.0 (二)
  9我的数据访问类(第二版)—— for .net2.0 (二)namespace JYK.DataAccessLibrary
 10我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二){
 11我的数据访问类(第二版)—— for .net2.0 (二)    public class DataAccessLayerSP
 12我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)    我的数据访问类(第二版)—— for .net2.0 (二){
 13我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        属性#region 属性
 14我的数据访问类(第二版)—— for .net2.0 (二)        private static string errorMsg;            //出错信息
 15我的数据访问类(第二版)—— for .net2.0 (二)        private static bool  isShowErrorSQL;    //是否显示出错的查询语句(包括存储过程名程)
 16我的数据访问类(第二版)—— for .net2.0 (二)        private DbCommand cm ;            //建立Command对象
 17我的数据访问类(第二版)—— for .net2.0 (二)        
 18我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 19我的数据访问类(第二版)—— for .net2.0 (二)        /// 读取出错信息
 20我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 21我的数据访问类(第二版)—— for .net2.0 (二)        public string ErrorMsg            
 22我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 23我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            get我的数据访问类(第二版)—— for .net2.0 (二){return errorMsg;}
 24我的数据访问类(第二版)—— for .net2.0 (二)        }
 25我的数据访问类(第二版)—— for .net2.0 (二)
 26我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 27我的数据访问类(第二版)—— for .net2.0 (二)        /// 修改连接字符串,在同时访问两个或两个以上的数据库的时候使用
 28我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 29我的数据访问类(第二版)—— for .net2.0 (二)        public string cnString            
 30我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 31我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            set我的数据访问类(第二版)—— for .net2.0 (二){cm.Connection.ConnectionString = value;}
 32我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            get我的数据访问类(第二版)—— for .net2.0 (二){return cm.Connection.ConnectionString;}
 33我的数据访问类(第二版)—— for .net2.0 (二)        }
 34我的数据访问类(第二版)—— for .net2.0 (二)
 35我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 36我的数据访问类(第二版)—— for .net2.0 (二)        /// 释放资源~
 37我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 38我的数据访问类(第二版)—— for .net2.0 (二)        public void Dispose()
 39我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 40我的数据访问类(第二版)—— for .net2.0 (二)            errorMsg = null;
 41我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters.Clear();
 42我的数据访问类(第二版)—— for .net2.0 (二)            cm.Connection.Close();
 43我的数据访问类(第二版)—— for .net2.0 (二)            cm.Connection.Dispose();
 44我的数据访问类(第二版)—— for .net2.0 (二)            cm.Dispose();
 45我的数据访问类(第二版)—— for .net2.0 (二)        }
 46我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
 47我的数据访问类(第二版)—— for .net2.0 (二)
 48我的数据访问类(第二版)—— for .net2.0 (二)        public DataAccessLayerSP()    //构造函数
 49我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 50我的数据访问类(第二版)—— for .net2.0 (二)            //获取连接字符串
 51我的数据访问类(第二版)—— for .net2.0 (二)            cm = Factory.CreateCommand();
 52我的数据访问类(第二版)—— for .net2.0 (二)            cm.CommandType = CommandType.StoredProcedure;
 53我的数据访问类(第二版)—— for .net2.0 (二)            //初始化错误信息
 54我的数据访问类(第二版)—— for .net2.0 (二)            errorMsg = "";
 55我的数据访问类(第二版)—— for .net2.0 (二)
 56我的数据访问类(第二版)—— for .net2.0 (二)            //本地运行,显示出错的查询语句(包括存储过程名程)
 57我的数据访问类(第二版)—— for .net2.0 (二)            isShowErrorSQL = WebConfig.isShowErrorSQL(); 
 58我的数据访问类(第二版)—— for .net2.0 (二)            
 59我的数据访问类(第二版)—— for .net2.0 (二)        }
 60我的数据访问类(第二版)—— for .net2.0 (二)    
 61我的数据访问类(第二版)—— for .net2.0 (二)        //存储过程的参数部分
 62我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        存储过程的参数部分——清除和添加参数#region 存储过程的参数部分——清除和添加参数
 63我的数据访问类(第二版)—— for .net2.0 (二)
 64我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        清除参数#region 清除参数
 65我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 66我的数据访问类(第二版)—— for .net2.0 (二)        /// 清除Command的存储过程的参数。
 67我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 68我的数据访问类(第二版)—— for .net2.0 (二)        public void ClearParameter()
 69我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){cm.Parameters.Clear();}
 70我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
 71我的数据访问类(第二版)—— for .net2.0 (二)    
 72我的数据访问类(第二版)—— for .net2.0 (二)        //int:        tinyint、smallint
 73我的数据访问类(第二版)—— for .net2.0 (二)        //bigint:
 74我的数据访问类(第二版)—— for .net2.0 (二)        //bool:    bit
 75我的数据访问类(第二版)—— for .net2.0 (二)        //double:    float、real
 76我的数据访问类(第二版)—— for .net2.0 (二)        //string:    char、nchar、varchar、nvarchar、uniqueidentifier、smalldatetime、datetime
 77我的数据访问类(第二版)—— for .net2.0 (二)        //string:    ntext、text
 78我的数据访问类(第二版)—— for .net2.0 (二)
 79我的数据访问类(第二版)—— for .net2.0 (二)        //decimal:从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
 80我的数据访问类(第二版)—— for .net2.0 (二)        //numeric:功能上等同于 decimal。
 81我的数据访问类(第二版)—— for .net2.0 (二)        //decimal:    smallmoney、money
 82我的数据访问类(第二版)—— for .net2.0 (二)
 83我的数据访问类(第二版)—— for .net2.0 (二)        //二进制
 84我的数据访问类(第二版)—— for .net2.0 (二)        //            binary、varbinary、image
 85我的数据访问类(第二版)—— for .net2.0 (二)
 86我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        输入型的参数 int 、double、decimal、nvarChar、、、#region 输入型的参数 int 、double、decimal、nvarChar、、、
 87我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        int#region int
 88我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
 89我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加int型的参数。
 90我的数据访问类(第二版)—— for .net2.0 (二)        /// 
 91我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
 92我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
 93我的数据访问类(第二版)—— for .net2.0 (二)        public void addNewParameter(string ParameterName,int ParameterValue)
 94我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
 95我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName,SqlDbType.Int,4);            //添加存储过程的参数
 96我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
 97我的数据访问类(第二版)—— for .net2.0 (二)            //设置方向取默认值——输入
 98我的数据访问类(第二版)—— for .net2.0 (二)        }
 99我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
100我的数据访问类(第二版)—— for .net2.0 (二)    
101我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        double#region double
102我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
103我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加小数参数,double
104我的数据访问类(第二版)—— for .net2.0 (二)        /// 
105我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
106我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
107我的数据访问类(第二版)—— for .net2.0 (二)        public void addNewParameter(string ParameterName,double ParameterValue )
108我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
109我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Float);            //添加存储过程的参数
110我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
111我的数据访问类(第二版)—— for .net2.0 (二)        }
112我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
113我的数据访问类(第二版)—— for .net2.0 (二)    
114我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        decimal#region decimal
115我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
116我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加金额参数,方向是输入(input)。decimal
117我的数据访问类(第二版)—— for .net2.0 (二)        /// 
118我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
119我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
120我的数据访问类(第二版)—— for .net2.0 (二)        public void addNewParameter(string ParameterName,decimal ParameterValue )
121我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
122我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Decimal);            //添加存储过程的参数
123我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
124我的数据访问类(第二版)—— for .net2.0 (二)        }
125我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
126我的数据访问类(第二版)—— for .net2.0 (二)    
127我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        nvarChar#region nvarChar
128我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
129我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加nvarChar型的参数。方向是输入(input)
130我的数据访问类(第二版)—— for .net2.0 (二)        /// 
131我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
132我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
133我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数大小
134我的数据访问类(第二版)—— for .net2.0 (二)        public void addNewParameter(string ParameterName,string ParameterValue,int size)
135我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
136我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.NVarChar, size);            //添加存储过程的参数
137我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
138我的数据访问类(第二版)—— for .net2.0 (二)        }
139我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
140我的数据访问类(第二版)—— for .net2.0 (二)    
141我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        nText#region nText
142我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
143我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加nText型的参数。方向是输入(input)
144我的数据访问类(第二版)—— for .net2.0 (二)        /// 
145我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
146我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
147我的数据访问类(第二版)—— for .net2.0 (二)        public   void addNewParameter(string ParameterName,string ParameterValue)
148我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
149我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.NText);            //添加存储过程的参数
150我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
151我的数据访问类(第二版)—— for .net2.0 (二)        }
152我的数据访问类(第二版)—— for .net2.0 (二)
153我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
154我的数据访问类(第二版)—— for .net2.0 (二)    
155我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        bit#region bit
156我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
157我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加bit型的参数。方向是输入(input)
158我的数据访问类(第二版)—— for .net2.0 (二)        /// 
159我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
160我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数值
161我的数据访问类(第二版)—— for .net2.0 (二)        public   void addNewParameter(string ParameterName,bool ParameterValue)
162我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
163我的数据访问类(第二版)—— for .net2.0 (二)            ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Bit);            //添加存储过程的参数
164我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Value=ParameterValue;            //负值
165我的数据访问类(第二版)—— for .net2.0 (二)        }
166我的数据访问类(第二版)—— for .net2.0 (二)        #endregion 
167我的数据访问类(第二版)—— for .net2.0 (二)    
168我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
169我的数据访问类(第二版)—— for .net2.0 (二)
170我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        输出型的参数#region 输出型的参数 
171我的数据访问类(第二版)—— for .net2.0 (二)        
172我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
173我的数据访问类(第二版)—— for .net2.0 (二)        /// 添加输出型的参数。只支持常用的几个参数类型,如果需要可以扩充。
174我的数据访问类(第二版)—— for .net2.0 (二)        /// 
175我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
176我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数的类型
177我的数据访问类(第二版)—— for .net2.0 (二)        public void addNewParameter(string ParameterName,JYK.ParameterKind kind)
178我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
179我的数据访问类(第二版)—— for .net2.0 (二)            switch(kind)
180我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
181我的数据访问类(第二版)—— for .net2.0 (二)                case ParameterKind.Int :
182我的数据访问类(第二版)—— for .net2.0 (二)                    ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Int);            //添加存储过程的参数
183我的数据访问类(第二版)—— for .net2.0 (二)                    break;
184我的数据访问类(第二版)—— for .net2.0 (二)                case ParameterKind.Double:
185我的数据访问类(第二版)—— for .net2.0 (二)                    ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Float);            //添加存储过程的参数
186我的数据访问类(第二版)—— for .net2.0 (二)                    break;
187我的数据访问类(第二版)—— for .net2.0 (二)                case ParameterKind.Decimal :
188我的数据访问类(第二版)—— for .net2.0 (二)                    ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Decimal);            //添加存储过程的参数
189我的数据访问类(第二版)—— for .net2.0 (二)                    break;
190我的数据访问类(第二版)—— for .net2.0 (二)                case ParameterKind.NVarChar :
191我的数据访问类(第二版)—— for .net2.0 (二)                    ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.NVarChar, 4000);            //添加存储过程的参数
192我的数据访问类(第二版)—— for .net2.0 (二)                    break;
193我的数据访问类(第二版)—— for .net2.0 (二)                case ParameterKind.Bit :
194我的数据访问类(第二版)—— for .net2.0 (二)                    ((System.Data.SqlClient.SqlCommand)cm).Parameters.Add(ParameterName, SqlDbType.Bit);            //添加存储过程的参数
195我的数据访问类(第二版)—— for .net2.0 (二)                    break;
196我的数据访问类(第二版)—— for .net2.0 (二)            }
197我的数据访问类(第二版)—— for .net2.0 (二)            cm.Parameters[ParameterName].Direction=    ParameterDirection.Output;        //设置方向
198我的数据访问类(第二版)—— for .net2.0 (二)        }
199我的数据访问类(第二版)—— for .net2.0 (二)        
200我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
201我的数据访问类(第二版)—— for .net2.0 (二)
202我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
203我的数据访问类(第二版)—— for .net2.0 (二)
204我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        存储过程的参数部分——取参数的返回值#region 存储过程的参数部分——取参数的返回值
205我的数据访问类(第二版)—— for .net2.0 (二)
206我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
207我的数据访问类(第二版)—— for .net2.0 (二)        /// 按序号返回参数值,一般在执行完存储过程后使用
208我的数据访问类(第二版)—— for .net2.0 (二)        /// 
209我的数据访问类(第二版)—— for .net2.0 (二)        /// 序号
210我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回参数的内容
211我的数据访问类(第二版)—— for .net2.0 (二)        public string this[int ParameterIndex]
212我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
213我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            get 我的数据访问类(第二版)—— for .net2.0 (二){return cm.Parameters[ParameterIndex].Value.ToString(); }
214我的数据访问类(第二版)—— for .net2.0 (二)        }
215我的数据访问类(第二版)—— for .net2.0 (二)
216我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
217我的数据访问类(第二版)—— for .net2.0 (二)        /// 按名称返回参数值,一般在执行完存储过程后使用
218我的数据访问类(第二版)—— for .net2.0 (二)        /// 
219我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
220我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回参数的内容
221我的数据访问类(第二版)—— for .net2.0 (二)        public string this[string ParameterName]
222我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
223我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            get 我的数据访问类(第二版)—— for .net2.0 (二){return cm.Parameters[ParameterName].Value.ToString(); }
224我的数据访问类(第二版)—— for .net2.0 (二)        }
225我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
226我的数据访问类(第二版)—— for .net2.0 (二)
227我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        存储过程的参数部分——修改参数值#region 存储过程的参数部分——修改参数值
228我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
229我的数据访问类(第二版)—— for .net2.0 (二)        /// 按序号修改参数值,一般在一次添加多条记录时用。
230我的数据访问类(第二版)—— for .net2.0 (二)        /// 
231我的数据访问类(第二版)—— for .net2.0 (二)        /// 序号
232我的数据访问类(第二版)—— for .net2.0 (二)        public void setParameter(int ParameterIndex,string parameterValue)
233我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){    cm.Parameters[ParameterIndex].Value = parameterValue;}
234我的数据访问类(第二版)—— for .net2.0 (二)
235我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
236我的数据访问类(第二版)—— for .net2.0 (二)        /// 按名称修改参数值,一般在一次添加多条记录时用
237我的数据访问类(第二版)—— for .net2.0 (二)        /// 
238我的数据访问类(第二版)—— for .net2.0 (二)        /// 参数名称。比如 @UserName
239我的数据访问类(第二版)—— for .net2.0 (二)        public void setParameter(string ParameterName,string parameterValue)
240我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){    cm.Parameters[ParameterName].Value = parameterValue;}
241我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
242我的数据访问类(第二版)—— for .net2.0 (二)
243我的数据访问类(第二版)—— for .net2.0 (二)        //存储过程部分
244我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        运行存储过程返回记录(DataSet、DataTable、不返回记录集)#region 运行存储过程返回记录(DataSet、DataTable、不返回记录集)
245我的数据访问类(第二版)—— for .net2.0 (二)
246我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
247我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行存储过程返回DataSet。DataSet里面可以是多个表(DateTable)
248我的数据访问类(第二版)—— for .net2.0 (二)        /// 
249我的数据访问类(第二版)—— for .net2.0 (二)        /// 存储过程名称
250我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回DataSet
251我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunStoreDataSet#region 函数实现 — — RunStoreDataSet
252我的数据访问类(第二版)—— for .net2.0 (二)        public DataSet RunStoreDataSet(string StoredProcedureName)
253我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
254我的数据访问类(第二版)—— for .net2.0 (二)            DbDataAdapter da = Factory.CreateDataAdapter(StoredProcedureName);
255我的数据访问类(第二版)—— for .net2.0 (二)            da.SelectCommand.CommandType = CommandType.StoredProcedure;
256我的数据访问类(第二版)—— for .net2.0 (二)            try
257我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
258我的数据访问类(第二版)—— for .net2.0 (二)                DataSet DS = new DataSet();
259我的数据访问类(第二版)—— for .net2.0 (二)                da.Fill(DS);
260我的数据访问类(第二版)—— for .net2.0 (二)                return DS;
261我的数据访问类(第二版)—— for .net2.0 (二)            }
262我的数据访问类(第二版)—— for .net2.0 (二)            catch(Exception ex)
263我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
264我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunStoreDataSet", StoredProcedureName, ex.Message);    //处理错误
265我的数据访问类(第二版)—— for .net2.0 (二)                return null;
266我的数据访问类(第二版)—— for .net2.0 (二)            }
267我的数据访问类(第二版)—— for .net2.0 (二)            finally
268我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
269我的数据访问类(第二版)—— for .net2.0 (二)                da.Dispose();
270我的数据访问类(第二版)—— for .net2.0 (二)            }
271我的数据访问类(第二版)—— for .net2.0 (二)        }
272我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
273我的数据访问类(第二版)—— for .net2.0 (二)
274我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
275我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行存储过程返回DataTable。
276我的数据访问类(第二版)—— for .net2.0 (二)        /// 
277我的数据访问类(第二版)—— for .net2.0 (二)        /// 存储过程名称
278我的数据访问类(第二版)—— for .net2.0 (二)        /// 返回DataTable
279我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        函数实现 — — RunStoreDataTable#region 函数实现 — — RunStoreDataTable
280我的数据访问类(第二版)—— for .net2.0 (二)        public DataTable RunStoreDataTable(string StoredProcedureName)
281我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
282我的数据访问类(第二版)—— for .net2.0 (二)            DbDataAdapter da = Factory.CreateDataAdapter(StoredProcedureName);
283我的数据访问类(第二版)—— for .net2.0 (二)            da.SelectCommand.CommandType = CommandType.StoredProcedure;
284我的数据访问类(第二版)—— for .net2.0 (二)            try
285我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
286我的数据访问类(第二版)—— for .net2.0 (二)                DataTable dt = new DataTable();
287我的数据访问类(第二版)—— for .net2.0 (二)                da.Fill(dt);
288我的数据访问类(第二版)—— for .net2.0 (二)                return dt;
289我的数据访问类(第二版)—— for .net2.0 (二)            }
290我的数据访问类(第二版)—— for .net2.0 (二)            catch(Exception ex)
291我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
292我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunStoreDataTable", StoredProcedureName, ex.Message);    //处理错误
293我的数据访问类(第二版)—— for .net2.0 (二)                return null;
294我的数据访问类(第二版)—— for .net2.0 (二)            }
295我的数据访问类(第二版)—— for .net2.0 (二)            finally
296我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
297我的数据访问类(第二版)—— for .net2.0 (二)                da.Dispose();
298我的数据访问类(第二版)—— for .net2.0 (二)            }
299我的数据访问类(第二版)—— for .net2.0 (二)        }
300我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
301我的数据访问类(第二版)—— for .net2.0 (二)        
302我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        /**//// 
303我的数据访问类(第二版)—— for .net2.0 (二)        /// 运行存储过程 不返回记录集,用于添加、修改、删除等操作
304我的数据访问类(第二版)—— for .net2.0 (二)        /// 
305我的数据访问类(第二版)—— for .net2.0 (二)        /// 存储过程名称
306我的数据访问类(第二版)—— for .net2.0 (二)        /// 
307我的数据访问类(第二版)—— for .net2.0 (二)        public void RunStore(string StoredProcedureName)
308我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)        我的数据访问类(第二版)—— for .net2.0 (二){
309我的数据访问类(第二版)—— for .net2.0 (二)            DbCommand cm = Factory.CreateCommand(StoredProcedureName);
310我的数据访问类(第二版)—— for .net2.0 (二)            cm.CommandText = StoredProcedureName;//设置command
311我的数据访问类(第二版)—— for .net2.0 (二)            try
312我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
313我的数据访问类(第二版)—— for .net2.0 (二)                if (cm.Connection.State == ConnectionState.Broken || cm.Connection.State == ConnectionState.Closed )
314我的数据访问类(第二版)—— for .net2.0 (二)                    cm.Connection.Open();
315我的数据访问类(第二版)—— for .net2.0 (二)                cm.ExecuteNonQuery();
316我的数据访问类(第二版)—— for .net2.0 (二)            }
317我的数据访问类(第二版)—— for .net2.0 (二)            catch(Exception ex)
318我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
319我的数据访问类(第二版)—— for .net2.0 (二)                WriteLog.SetErrorMsg("RunStore", StoredProcedureName, ex.Message);    //处理错误
320我的数据访问类(第二版)—— for .net2.0 (二)            }
321我的数据访问类(第二版)—— for .net2.0 (二)            finally
322我的数据访问类(第二版)—— for .net2.0 (二)我的数据访问类(第二版)—— for .net2.0 (二)            我的数据访问类(第二版)—— for .net2.0 (二){
323我的数据访问类(第二版)—— for .net2.0 (二)                cm.Connection.Close();
324我的数据访问类(第二版)—— for .net2.0 (二)            }
325我的数据访问类(第二版)—— for .net2.0 (二)        }
326我的数据访问类(第二版)—— for .net2.0 (二)        #endregion
327我的数据访问类(第二版)—— for .net2.0 (二)    }
328我的数据访问类(第二版)—— for .net2.0 (二)}



这里没有使用静态函数的方式,目的是为了方便添加存储过程的参数。


上一篇:《深入理解Java虚拟机》读书笔记2--垃圾回收


下一篇:HTML空格标签