勇敢的小鹿

从事着代码生涯的小鹿,悄悄走到你的身边...

 

发布个人版的C#数据库操作类源码

      一直以来,我都是习惯用Vb.net来开发网站。但最近与俺相处了3年的同事调走了,部分的项目由我来接管,他较擅长C#,因此近段时间恶补C#的东西。以前我写过几个Vb.net版的数据库访问类——其实我觉得叫模块更为合适,前天试着把它转为C#版。不妥之处望大家能提出改进意见,具体原码如下:
  1/// <summary>
  2    /// SqlDbAccessVCsharp 的摘要说明。
  3    /// </summary>

  4    public class SqlDbAccessVCsharp
  5    {
  6
  7        /// <summary>
  8        /// _ConectionString 局部变量:连接字符串。
  9        /// </summary>

 10        private string _ConectionString;
 11        /// <summary>
 12        /// _QuryValue 局部变量:查询结果,数据类型32位整型数。
 13        /// </summary>

 14        private Int32 _IntQuryValue;
 15        /// <summary>
 16        /// SqlConnection局部变量:查询结果,数据类型字符串。
 17        /// </summary>

 18        private String _StrQuryValue;
 19        /// <summary>
 20        /// SqlConnection 局部变量:数据库连接。
 21        /// </summary>

 22        private SqlConnection CurrentConnection=new SqlConnection();
 23        /// <summary>
 24        /// SqlCmd 局部变量:SqlCommand。
 25        /// </summary>

 26        private SqlCommand SqlCmd ;
 27        /// <summary>
 28        /// MyDataSet 局部变量:DataSet。
 29        /// </summary>

 30        private DataSet MyDataSet=new DataSet();
 31        /// <summary>
 32        /// MySqlDataReader 局部变量:SqlDataReader。
 33        /// </summary>

 34        private SqlDataReader MySqlDataReader;
 35        /// <summary>
 36        /// MySqlDataAdapter 局部变量:SqlDataAdapter。
 37        /// </summary>

 38        private SqlDataAdapter MySqlDataAdapter;
 39        /// <summary>
 40        /// _CurrentPageCode 局部变量:String。
 41        /// </summary>

 42        private int _CurrentPageCode;
 43        /// <summary>
 44        /// ConectionString 属性:连接字符串。
 45        /// </summary>        

 46        public string ConectionString
 47        {
 48            get{
 49            return _ConectionString;
 50            }

 51            set{
 52            _ConectionString=value;
 53            }

 54        }

 55        /// <summary>
 56        /// IntQuryValue 属性:整型查询结果。
 57        /// </summary>    

 58        public Int32 IntQuryValue
 59        {
 60                   get
 61                   {
 62                       return _IntQuryValue;
 63                   }

 64                   set
 65                   {
 66                       _IntQuryValue=value;
 67                   }
 
 68        }

 69        /// <summary>
 70        /// StrQuryValue 属性:字符串查询结果。
 71        /// </summary>    

 72        public string StrQuryValue
 73        {
 74            get
 75            {
 76                return _StrQuryValue;
 77            }

 78            set
 79            {
 80                _StrQuryValue=value;
 81            }
 
 82        }

 83        /// <summary>
 84        /// CurrentPageCode 属性:当前页。
 85        /// </summary>    

 86        public int CurrentPageCode
 87        {
 88            get
 89            {
 90                return _CurrentPageCode;
 91            }

 92            set
 93            {
 94                _CurrentPageCode=value;
 95            }
 
 96        }

 97        /// <summary>
 98        /// ConnectToDb 打开数据库连接。
 99        /// </summary>    
100        /// <paramref name="Errmsg">
101        /// 返回值:错误信息。
102        /// </paramref>    

103        public bool ConnectToDb(ref string ErrMsg)
104        {
105            try
106            
107            {
108        
109                if ( ( CurrentConnection.State== ConnectionState.Broken)||( CurrentConnection.State== ConnectionState.Closed))
110                {
111                    CurrentConnection.ConnectionString =ConectionString;
112                    CurrentConnection.Open();
113                }

114                return true;
115            }

116            catch (SqlException e)
117            {
118            ErrMsg = e.ToString();
119            ErrMsg = ErrMsg.Replace("\r""");
120            ErrMsg = ErrMsg.Replace("\n""");
121            return false;
122            }

123        }

124        /// <summary>
125        /// CloseDb 关闭数据库连接。
126        /// </summary>    
127        /// <paramref name="Errmsg">
128        /// 返回值:错误信息。
129        /// </paramref>    

130        public bool CloseDb(ref string ErrMsg)
131        {
132            try
133            
134            {                
135                if ( ( CurrentConnection.State!= ConnectionState.Broken) &&( CurrentConnection.State!= ConnectionState.Closed))
136                {                    
137                    CurrentConnection.Close();
138                    CurrentConnection.Dispose();
139                }

140                return true;
141            }

142            catch (SqlException e)
143            {
144                ErrMsg = e.ToString();
145                ErrMsg = ErrMsg.Replace("\r""");
146                ErrMsg = ErrMsg.Replace("\n""");
147                return false;
148            }

149        }

150        /// <summary>
151        /// ExecuteSql 执行Sql命令。
152        /// </summary>
153        /// <param name="SqlStr">
154        /// 传入参数:Sql语句
155        /// </param>
156        /// <paramref name="Errmg">
157        /// 引用参数:错误信息
158        /// </paramref>

159        public bool ExecuteSql(string SqlStr,ref string ErrMsg)
160        {
161        
162            
163                try
164                {    
165                    if (ConnectToDb(ref ErrMsg) == true)
166                    {        
167                    SqlCmd=new SqlCommand(SqlStr,CurrentConnection);
168                    SqlCmd.ExecuteNonQuery();
169                    SqlCmd.Dispose();
170                    CloseDb(ref ErrMsg);
171                    return true;
172                    }

173                    else
174                    return false;
175                }

176                catch (SqlException e)
177                {
178                    ErrMsg = e.ToString();
179                    ErrMsg = ErrMsg.Replace("\r""");
180                    ErrMsg = ErrMsg.Replace("\n""");
181                    return false;
182                }

183        
184
185        }

186        /// <summary>
187        /// QuerySingleIntValue 查询出一个单值。
188        /// </summary>
189        /// <param name="SqlStr">
190        /// 传入参数:Sql语句。
191        /// </param>
192        /// <paramref name="Errmg">
193        /// 引用参数:错误信息。
194        /// </paramref>

195        public bool QuerySingleIntValue(string SqlStr,ref string ErrMsg)
196        {
197            
198                try
199                {        
200                    if (ConnectToDb(ref ErrMsg) == true)
201                    {
202                    SqlCmd=new SqlCommand(SqlStr,CurrentConnection);
203                    MySqlDataReader=SqlCmd.ExecuteReader(); 
204                    while(MySqlDataReader.Read())
205                    {
206                      IntQuryValue =Convert.ToInt32(MySqlDataReader[0]);
207                    }

208                    MySqlDataReader.Close(); 
209                    SqlCmd.Dispose();
210                    CloseDb(ref ErrMsg);
211                    return true;
212                    }

213                    return false;
214                }

215                catch (SqlException e)
216                {
217                    ErrMsg = e.ToString();
218                    ErrMsg = ErrMsg.Replace("\r""");
219                    ErrMsg = ErrMsg.Replace("\n""");
220                    return false;
221                }

222            
223        }

224        /// <summary>
225        /// QuerySingleStrValue 查询出一个单值。
226        /// </summary>
227        /// <param name="SqlStr">
228        /// 传入参数:Sql语句。
229        /// </param>
230        /// <paramref name="Errmg">
231        /// 引用参数:错误信息。
232        /// </paramref>

233        public bool QuerySingleStrValue(string SqlStr,ref string ErrMsg)
234        {
235            
236            try
237            {        
238                if (ConnectToDb(ref ErrMsg) == true)
239                {
240                    SqlCmd=new SqlCommand(SqlStr,CurrentConnection);
241                    MySqlDataReader=SqlCmd.ExecuteReader(); 
242                    while(MySqlDataReader.Read())
243                    {
244                        StrQuryValue = Convert.ToString(MySqlDataReader[0]);
245                    }

246                    MySqlDataReader.Close(); 
247                    SqlCmd.Dispose();
248                    CloseDb(ref ErrMsg);
249                    return true;
250                }

251                return false;
252            }

253            catch (SqlException e)
254            {
255                ErrMsg = e.ToString();
256                ErrMsg = ErrMsg.Replace("\r""");
257                ErrMsg = ErrMsg.Replace("\n""");
258                return false;
259            }

260            
261        }

262        /// <summary>
263        /// MoreValueQuery 查询出多值。
264        /// </summary>
265        /// <param name="SqlStr">
266        /// 查询语句
267        /// </param>
268        /// <param name="FieldCount">
269        /// 读取字段数
270        /// </param>
271        ///<paramref name="ValueArrlist">
272        ///引用参数:查询结果,保存在动态数组当中。
273        ///</paramref>
274        ///<paramref name="ErrMsg">
275        ///引用参数:错误信息。
276        ///</paramref>        

277        public bool MoreValueQuery(string SqlStr,int FieldCount,ref ArrayList ValueArrlist,string ErrMsg)
278        {
279         
280            try
281            {
282                if (ConnectToDb(ref ErrMsg) == true)
283                {
284                    
285                    SqlCmd=new SqlCommand(SqlStr,CurrentConnection);
286                    MySqlDataReader=SqlCmd.ExecuteReader(); 
287                    while(MySqlDataReader.Read())
288                    {
289                        for (int i = 0; i <= FieldCount-1; i++)
290
291                        {
292                            if (!MySqlDataReader.IsDBNull(i))   
293                            {
294                                  ValueArrlist.Add("");
295                            }

296                            else
297                            
298                              ValueArrlist.Add(MySqlDataReader.GetString(i));
299                            }

300                        }

301                            
302                    }

303                    MySqlDataReader.Close(); 
304                    SqlCmd.Dispose();
305                    CloseDb(ref ErrMsg);
306                    return true;
307                }

308                return false;
309            }

310            catch (SqlException e)
311            {
312                ErrMsg = e.ToString();
313                ErrMsg = ErrMsg.Replace("\r""");
314                ErrMsg = ErrMsg.Replace("\n""");
315                return false;
316            }

317        }

318        public DataView GetTableData(int PageShow,string SqlStr,string TableName,ref string  ErrMsg)
319        {
320            try
321            {
322                    if (ConnectToDb(ref ErrMsg) == true)
323                {        
324                int StartIndex=0;
325                    MySqlDataAdapter=new SqlDataAdapter(SqlStr,CurrentConnection);
326                        if (PageShow==0)
327                        {
328                        MySqlDataAdapter.Fill(MyDataSet,TableName);
329                        }

330                        else
331                        {
332                            StartIndex = CurrentPageCode * PageShow;
333                            MySqlDataAdapter.Fill(MyDataSet,StartIndex,PageShow,TableName);
334                        }

335                     DataView MyDataView;//=new DataView();
336                       MyDataView = MyDataSet.Tables[TableName].DefaultView;
337
338                    SqlCmd.Dispose();
339                    CloseDb(ref ErrMsg);
340                    return MyDataView;
341                }

342                else
343                    return null;
344            }

345            catch (SqlException e)
346            {
347                ErrMsg = e.ToString();
348                ErrMsg = ErrMsg.Replace("\r""");
349                ErrMsg = ErrMsg.Replace("\n""");
350                return null;
351            }

352                
353        }

354
355    }

posted on 2006-11-21 01:46  明月清风路  阅读(3808)  评论(6编辑  收藏  举报

导航