DbHelperSQL

摘要:
代码1使用系统;2使用系统。收藏;3使用System.Collections。专业的4使用系统。数据5使用System.Data。SqlClient;6使用系统。配置7使用System.Data。常见的8使用System.Collection
DbHelperSQL第1张DbHelperSQL第2张Code
   1DbHelperSQL第3张using System;
   2DbHelperSQL第3张using System.Collections;
   3DbHelperSQL第3张using System.Collections.Specialized;
   4DbHelperSQL第3张using System.Data;
   5DbHelperSQL第3张using System.Data.SqlClient;
   6DbHelperSQL第3张using System.Configuration;
   7DbHelperSQL第3张using System.Data.Common;
   8DbHelperSQL第3张using System.Collections.Generic;
   9DbHelperSQL第3张
  10DbHelperSQL第3张namespace ICE.DBUtility
  11DbHelperSQL第13张DbHelperSQL第14张DbHelperSQL第15张{
  12DbHelperSQL第16张DbHelperSQL第17张    /**//// <summary>
  13DbHelperSQL第18张    /// 数据访问抽象基础类
  14DbHelperSQL第18张    /// Copyright (C) 2004-2008 By LiTianPing 
  15DbHelperSQL第20张    /// </summary>

  16DbHelperSQL第18张    public abstract class DbHelperSQL
  17DbHelperSQL第16张DbHelperSQL第17张    DbHelperSQL第15张{
  18DbHelperSQL第18张        //数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.        
  19DbHelperSQL第18张        public static string connectionString = PubConstant.ConnectionString;             
  20DbHelperSQL第18张        public DbHelperSQL()
  21DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{            
  22DbHelperSQL第20张        }

  23DbHelperSQL第18张
  24DbHelperSQL第33张DbHelperSQL第34张        公用方法#region 公用方法
  25DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
  26DbHelperSQL第18张        /// 判断是否存在某表的某个字段
  27DbHelperSQL第18张        /// </summary>
  28DbHelperSQL第18张        /// <param name="tableName">表名称</param>
  29DbHelperSQL第18张        /// <param name="columnName">列名称</param>
  30DbHelperSQL第20张        /// <returns>是否存在</returns>

  31DbHelperSQL第18张        public static bool ColumnExists(string tableName, string columnName)
  32DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
  33DbHelperSQL第18张            string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') and [name]='" + columnName + "'";
  34DbHelperSQL第18张            object res = GetSingle(sql);
  35DbHelperSQL第18张            if (res == null)
  36DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  37DbHelperSQL第18张                return false;
  38DbHelperSQL第20张            }

  39DbHelperSQL第18张            return Convert.ToInt32(res) > 0;
  40DbHelperSQL第20张        }

  41DbHelperSQL第18张        public static int GetMaxID(string FieldName, string TableName)
  42DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
  43DbHelperSQL第18张            string strsql = "select max(" + FieldName + ")+1 from " + TableName;
  44DbHelperSQL第18张            object obj = DbHelperSQL.GetSingle(strsql);
  45DbHelperSQL第18张            if (obj == null)
  46DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  47DbHelperSQL第18张                return 1;
  48DbHelperSQL第20张            }

  49DbHelperSQL第18张            else
  50DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  51DbHelperSQL第18张                return int.Parse(obj.ToString());
  52DbHelperSQL第20张            }

  53DbHelperSQL第20张        }

  54DbHelperSQL第18张        public static bool Exists(string strSql)
  55DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
  56DbHelperSQL第18张            object obj = DbHelperSQL.GetSingle(strSql);
  57DbHelperSQL第18张            int cmdresult;
  58DbHelperSQL第18张            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  59DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  60DbHelperSQL第18张                cmdresult = 0;
  61DbHelperSQL第20张            }

  62DbHelperSQL第18张            else
  63DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  64DbHelperSQL第18张                cmdresult = int.Parse(obj.ToString());
  65DbHelperSQL第20张            }

  66DbHelperSQL第18张            if (cmdresult == 0)
  67DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  68DbHelperSQL第18张                return false;
  69DbHelperSQL第20张            }

  70DbHelperSQL第18张            else
  71DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  72DbHelperSQL第18张                return true;
  73DbHelperSQL第20张            }

  74DbHelperSQL第20张        }

  75DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
  76DbHelperSQL第18张        /// 表是否存在
  77DbHelperSQL第18张        /// </summary>
  78DbHelperSQL第18张        /// <param name="TableName"></param>
  79DbHelperSQL第20张        /// <returns></returns>

  80DbHelperSQL第18张        public static bool TabExists(string TableName)
  81DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
  82DbHelperSQL第18张            string strsql = "select count(*) from sysobjects where id = object_id(N'[" + TableName + "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1";
  83DbHelperSQL第18张            //string strsql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + TableName + "]') AND type in (N'U')";
  84DbHelperSQL第18张            object obj = DbHelperSQL.GetSingle(strsql);
  85DbHelperSQL第18张            int cmdresult;
  86DbHelperSQL第18张            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
  87DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  88DbHelperSQL第18张                cmdresult = 0;
  89DbHelperSQL第20张            }

  90DbHelperSQL第18张            else
  91DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  92DbHelperSQL第18张                cmdresult = int.Parse(obj.ToString());
  93DbHelperSQL第20张            }

  94DbHelperSQL第18张            if (cmdresult == 0)
  95DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
  96DbHelperSQL第18张                return false;
  97DbHelperSQL第20张            }

  98DbHelperSQL第18张            else
  99DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 100DbHelperSQL第18张                return true;
 101DbHelperSQL第20张            }

 102DbHelperSQL第20张        }

 103DbHelperSQL第18张        public static bool Exists(string strSql, params SqlParameter[] cmdParms)
 104DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 105DbHelperSQL第18张            object obj = DbHelperSQL.GetSingle(strSql, cmdParms);
 106DbHelperSQL第18张            int cmdresult;
 107DbHelperSQL第18张            if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
 108DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 109DbHelperSQL第18张                cmdresult = 0;
 110DbHelperSQL第20张            }

 111DbHelperSQL第18张            else
 112DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 113DbHelperSQL第18张                cmdresult = int.Parse(obj.ToString());
 114DbHelperSQL第20张            }

 115DbHelperSQL第18张            if (cmdresult == 0)
 116DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 117DbHelperSQL第18张                return false;
 118DbHelperSQL第20张            }

 119DbHelperSQL第18张            else
 120DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 121DbHelperSQL第18张                return true;
 122DbHelperSQL第20张            }

 123DbHelperSQL第20张        }

 124DbHelperSQL第20张        #endregion

 125DbHelperSQL第18张
 126DbHelperSQL第33张DbHelperSQL第34张        执行简单SQL语句#region  执行简单SQL语句
 127DbHelperSQL第18张
 128DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 129DbHelperSQL第18张        /// 执行SQL语句,返回影响的记录数
 130DbHelperSQL第18张        /// </summary>
 131DbHelperSQL第18张        /// <param name="SQLString">SQL语句</param>
 132DbHelperSQL第20张        /// <returns>影响的记录数</returns>

 133DbHelperSQL第18张        public static int ExecuteSql(string SQLString)
 134DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 135DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 136DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 137DbHelperSQL第18张                connection.Open();
 138DbHelperSQL第18张
 139DbHelperSQL第18张                using (SqlTransaction trans = connection.BeginTransaction())
 140DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 141DbHelperSQL第18张                    using (SqlCommand cmd = new SqlCommand(SQLString, connection))
 142DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 143DbHelperSQL第18张                        try
 144DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 145DbHelperSQL第18张                            cmd.Transaction = trans;                            
 146DbHelperSQL第18张                            int rows = cmd.ExecuteNonQuery();
 147DbHelperSQL第18张                            trans.Commit();
 148DbHelperSQL第18张                            return rows;
 149DbHelperSQL第20张                        }

 150DbHelperSQL第18张                        catch (System.Data.SqlClient.SqlException e)
 151DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 152DbHelperSQL第18张                            trans.Rollback();
 153DbHelperSQL第18张                            connection.Close();
 154DbHelperSQL第18张                            throw e;
 155DbHelperSQL第20张                        }

 156DbHelperSQL第20张                    }

 157DbHelperSQL第20张                }

 158DbHelperSQL第20张            }

 159DbHelperSQL第20张        }

 160DbHelperSQL第18张
 161DbHelperSQL第18张        public static int ExecuteSqlByTime(string SQLString, int Times)
 162DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 163DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 164DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 165DbHelperSQL第18张                using (SqlCommand cmd = new SqlCommand(SQLString, connection))
 166DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 167DbHelperSQL第18张                    try
 168DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 169DbHelperSQL第18张                        connection.Open();
 170DbHelperSQL第18张                        cmd.CommandTimeout = Times;
 171DbHelperSQL第18张                        int rows = cmd.ExecuteNonQuery();
 172DbHelperSQL第18张                        return rows;
 173DbHelperSQL第20张                    }

 174DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException e)
 175DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 176DbHelperSQL第18张                        connection.Close();
 177DbHelperSQL第18张                        throw e;
 178DbHelperSQL第20张                    }

 179DbHelperSQL第20张                }

 180DbHelperSQL第20张            }

 181DbHelperSQL第20张        }

 182DbHelperSQL第18张      
 183DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 184DbHelperSQL第18张        /// 执行Sql和Oracle滴混合事务
 185DbHelperSQL第18张        /// </summary>
 186DbHelperSQL第18张        /// <param name="list">SQL命令行列表</param>
 187DbHelperSQL第18张        /// <param name="oracleCmdSqlList">Oracle命令行列表</param>
 188DbHelperSQL第20张        /// <returns>执行结果 0-由于SQL造成事务失败 -1 由于Oracle造成事务失败 1-整体事务执行成功</returns>

 189DbHelperSQL第18张        public static int ExecuteSqlTran(List<CommandInfo> list, List<CommandInfo> oracleCmdSqlList)
 190DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 191DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 192DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 193DbHelperSQL第18张                conn.Open();
 194DbHelperSQL第18张                SqlCommand cmd = new SqlCommand();
 195DbHelperSQL第18张                cmd.Connection = conn;
 196DbHelperSQL第18张                SqlTransaction tx = conn.BeginTransaction();
 197DbHelperSQL第18张                cmd.Transaction = tx;
 198DbHelperSQL第18张                try
 199DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 200DbHelperSQL第18张                    foreach (CommandInfo myDE in list)
 201DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 202DbHelperSQL第18张                        string cmdText = myDE.CommandText;
 203DbHelperSQL第18张                        SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters;
 204DbHelperSQL第18张                        PrepareCommand(cmd, conn, tx, cmdText, cmdParms);
 205DbHelperSQL第18张                        if (myDE.EffentNextType == EffentNextType.SolicitationEvent)
 206DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 207DbHelperSQL第18张                            if (myDE.CommandText.ToLower().IndexOf("count("== -1)
 208DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 209DbHelperSQL第18张                                tx.Rollback();
 210DbHelperSQL第18张                                throw new Exception("违背要求"+myDE.CommandText+"必须符合select count(..的格式");
 211DbHelperSQL第18张                                //return 0;
 212DbHelperSQL第20张                            }

 213DbHelperSQL第18张
 214DbHelperSQL第18张                            object obj = cmd.ExecuteScalar();
 215DbHelperSQL第18张                            bool isHave = false;
 216DbHelperSQL第18张                            if (obj == null && obj == DBNull.Value)
 217DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 218DbHelperSQL第18张                                isHave = false;
 219DbHelperSQL第20张                            }

 220DbHelperSQL第18张                            isHave = Convert.ToInt32(obj) > 0;
 221DbHelperSQL第18张                            if (isHave)
 222DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 223DbHelperSQL第18张                                //引发事件
 224DbHelperSQL第18张                                myDE.OnSolicitationEvent();
 225DbHelperSQL第20张                            }

 226DbHelperSQL第20张                        }

 227DbHelperSQL第18张                        if (myDE.EffentNextType == EffentNextType.WhenHaveContine || myDE.EffentNextType == EffentNextType.WhenNoHaveContine)
 228DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 229DbHelperSQL第18张                            if (myDE.CommandText.ToLower().IndexOf("count("== -1)
 230DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 231DbHelperSQL第18张                                tx.Rollback();
 232DbHelperSQL第18张                                throw new Exception("SQL:违背要求" + myDE.CommandText + "必须符合select count(..的格式");
 233DbHelperSQL第18张                                //return 0;
 234DbHelperSQL第20张                            }

 235DbHelperSQL第18张
 236DbHelperSQL第18张                            object obj = cmd.ExecuteScalar();
 237DbHelperSQL第18张                            bool isHave = false;
 238DbHelperSQL第18张                            if (obj == null && obj == DBNull.Value)
 239DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 240DbHelperSQL第18张                                isHave = false;
 241DbHelperSQL第20张                            }

 242DbHelperSQL第18张                            isHave = Convert.ToInt32(obj) > 0;
 243DbHelperSQL第18张
 244DbHelperSQL第18张                            if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave)
 245DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 246DbHelperSQL第18张                                tx.Rollback();
 247DbHelperSQL第18张                                throw new Exception("SQL:违背要求" + myDE.CommandText + "返回值必须大于0");
 248DbHelperSQL第18张                                //return 0;
 249DbHelperSQL第20张                            }

 250DbHelperSQL第18张                            if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave)
 251DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 252DbHelperSQL第18张                                tx.Rollback();
 253DbHelperSQL第18张                                throw new Exception("SQL:违背要求" + myDE.CommandText + "返回值必须等于0");
 254DbHelperSQL第18张                                //return 0;
 255DbHelperSQL第20张                            }

 256DbHelperSQL第18张                            continue;
 257DbHelperSQL第20张                        }

 258DbHelperSQL第18张                        int val = cmd.ExecuteNonQuery();
 259DbHelperSQL第18张                        if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0)
 260DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 261DbHelperSQL第18张                            tx.Rollback();
 262DbHelperSQL第18张                            throw new Exception("SQL:违背要求" + myDE.CommandText + "必须有影响行");
 263DbHelperSQL第18张                            //return 0;
 264DbHelperSQL第20张                        }

 265DbHelperSQL第18张                        cmd.Parameters.Clear();
 266DbHelperSQL第20张                    }

 267DbHelperSQL第18张                    string oraConnectionString = PubConstant.GetConnectionString("ConnectionStringPPC");
 268DbHelperSQL第18张                    bool res = OracleHelper.ExecuteSqlTran(oraConnectionString, oracleCmdSqlList);
 269DbHelperSQL第18张                    if (!res)
 270DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 271DbHelperSQL第18张                        tx.Rollback();
 272DbHelperSQL第18张                        throw new Exception("Oracle执行失败");
 273DbHelperSQL第18张                        // return -1;
 274DbHelperSQL第20张                    }

 275DbHelperSQL第18张                    tx.Commit();
 276DbHelperSQL第18张                    return 1;
 277DbHelperSQL第20张                }

 278DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException e)
 279DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 280DbHelperSQL第18张                    tx.Rollback();
 281DbHelperSQL第18张                    throw e;
 282DbHelperSQL第20张                }

 283DbHelperSQL第18张                catch (Exception e)
 284DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 285DbHelperSQL第18张                    tx.Rollback();
 286DbHelperSQL第18张                    throw e;
 287DbHelperSQL第20张                }

 288DbHelperSQL第20张            }

 289DbHelperSQL第20张        }
        
 290DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 291DbHelperSQL第18张        /// 执行多条SQL语句,实现数据库事务。
 292DbHelperSQL第18张        /// </summary>
 293DbHelperSQL第20张        /// <param name="SQLStringList">多条SQL语句</param>        

 294DbHelperSQL第18张        public static int ExecuteSqlTran(List<String> SQLStringList)
 295DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 296DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 297DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 298DbHelperSQL第18张                conn.Open();
 299DbHelperSQL第18张                SqlCommand cmd = new SqlCommand();
 300DbHelperSQL第18张                cmd.Connection = conn;
 301DbHelperSQL第18张                SqlTransaction tx = conn.BeginTransaction();
 302DbHelperSQL第18张                cmd.Transaction = tx;
 303DbHelperSQL第18张                try
 304DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 305DbHelperSQL第18张                    int count = 0;
 306DbHelperSQL第18张                    for (int n = 0; n < SQLStringList.Count; n++)
 307DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 308DbHelperSQL第18张                        string strsql = SQLStringList[n];
 309DbHelperSQL第18张                        if (strsql.Trim().Length > 1)
 310DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 311DbHelperSQL第18张                            cmd.CommandText = strsql;
 312DbHelperSQL第18张                            count += cmd.ExecuteNonQuery();
 313DbHelperSQL第20张                        }

 314DbHelperSQL第20张                    }

 315DbHelperSQL第18张                    tx.Commit();
 316DbHelperSQL第18张                    return count;
 317DbHelperSQL第20张                }

 318DbHelperSQL第18张                catch
 319DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 320DbHelperSQL第18张                    tx.Rollback();
 321DbHelperSQL第18张                    return 0;
 322DbHelperSQL第20张                }

 323DbHelperSQL第20张            }

 324DbHelperSQL第20张        }

 325DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 326DbHelperSQL第18张        /// 执行带一个存储过程参数的的SQL语句。
 327DbHelperSQL第18张        /// </summary>
 328DbHelperSQL第18张        /// <param name="SQLString">SQL语句</param>
 329DbHelperSQL第18张        /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
 330DbHelperSQL第20张        /// <returns>影响的记录数</returns>

 331DbHelperSQL第18张        public static int ExecuteSql(string SQLString, string content)
 332DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 333DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 334DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 335DbHelperSQL第18张                SqlCommand cmd = new SqlCommand(SQLString, connection);
 336DbHelperSQL第18张                System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
 337DbHelperSQL第18张                myParameter.Value = content;
 338DbHelperSQL第18张                cmd.Parameters.Add(myParameter);
 339DbHelperSQL第18张                try
 340DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 341DbHelperSQL第18张                    connection.Open();
 342DbHelperSQL第18张                    int rows = cmd.ExecuteNonQuery();
 343DbHelperSQL第18张                    return rows;
 344DbHelperSQL第20张                }

 345DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException e)
 346DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 347DbHelperSQL第18张                    throw e;
 348DbHelperSQL第20张                }

 349DbHelperSQL第18张                finally
 350DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 351DbHelperSQL第18张                    cmd.Dispose();
 352DbHelperSQL第18张                    connection.Close();
 353DbHelperSQL第20张                }

 354DbHelperSQL第20张            }

 355DbHelperSQL第20张        }

 356DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 357DbHelperSQL第18张        /// 执行带一个存储过程参数的的SQL语句。
 358DbHelperSQL第18张        /// </summary>
 359DbHelperSQL第18张        /// <param name="SQLString">SQL语句</param>
 360DbHelperSQL第18张        /// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
 361DbHelperSQL第20张        /// <returns>影响的记录数</returns>

 362DbHelperSQL第18张        public static object ExecuteSqlGet(string SQLString, string content)
 363DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 364DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 365DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 366DbHelperSQL第18张                SqlCommand cmd = new SqlCommand(SQLString, connection);
 367DbHelperSQL第18张                System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
 368DbHelperSQL第18张                myParameter.Value = content;
 369DbHelperSQL第18张                cmd.Parameters.Add(myParameter);
 370DbHelperSQL第18张                try
 371DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 372DbHelperSQL第18张                    connection.Open();
 373DbHelperSQL第18张                    object obj = cmd.ExecuteScalar();
 374DbHelperSQL第18张                    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
 375DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 376DbHelperSQL第18张                        return null;
 377DbHelperSQL第20张                    }

 378DbHelperSQL第18张                    else
 379DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 380DbHelperSQL第18张                        return obj;
 381DbHelperSQL第20张                    }

 382DbHelperSQL第20张                }

 383DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException e)
 384DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 385DbHelperSQL第18张                    throw e;
 386DbHelperSQL第20张                }

 387DbHelperSQL第18张                finally
 388DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 389DbHelperSQL第18张                    cmd.Dispose();
 390DbHelperSQL第18张                    connection.Close();
 391DbHelperSQL第20张                }

 392DbHelperSQL第20张            }

 393DbHelperSQL第20张        }

 394DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 395DbHelperSQL第18张        /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
 396DbHelperSQL第18张        /// </summary>
 397DbHelperSQL第18张        /// <param name="strSQL">SQL语句</param>
 398DbHelperSQL第18张        /// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
 399DbHelperSQL第20张        /// <returns>影响的记录数</returns>

 400DbHelperSQL第18张        public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
 401DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 402DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 403DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 404DbHelperSQL第18张                SqlCommand cmd = new SqlCommand(strSQL, connection);
 405DbHelperSQL第18张                System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
 406DbHelperSQL第18张                myParameter.Value = fs;
 407DbHelperSQL第18张                cmd.Parameters.Add(myParameter);
 408DbHelperSQL第18张                try
 409DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 410DbHelperSQL第18张                    connection.Open();
 411DbHelperSQL第18张                    int rows = cmd.ExecuteNonQuery();
 412DbHelperSQL第18张                    return rows;
 413DbHelperSQL第20张                }

 414DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException e)
 415DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 416DbHelperSQL第18张                    throw e;
 417DbHelperSQL第20张                }

 418DbHelperSQL第18张                finally
 419DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 420DbHelperSQL第18张                    cmd.Dispose();
 421DbHelperSQL第18张                    connection.Close();
 422DbHelperSQL第20张                }

 423DbHelperSQL第20张            }

 424DbHelperSQL第20张        }

 425DbHelperSQL第18张
 426DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 427DbHelperSQL第18张        /// 执行一条计算查询结果语句,返回查询结果(object)。
 428DbHelperSQL第18张        /// </summary>
 429DbHelperSQL第18张        /// <param name="SQLString">计算查询结果语句</param>
 430DbHelperSQL第20张        /// <returns>查询结果(object)</returns>

 431DbHelperSQL第18张        public static object GetSingle(string SQLString)
 432DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 433DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 434DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 435DbHelperSQL第18张                using (SqlCommand cmd = new SqlCommand(SQLString, connection))
 436DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 437DbHelperSQL第18张                    try
 438DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 439DbHelperSQL第18张                        connection.Open();
 440DbHelperSQL第18张                        object obj = cmd.ExecuteScalar();
 441DbHelperSQL第18张                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
 442DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 443DbHelperSQL第18张                            return null;
 444DbHelperSQL第20张                        }

 445DbHelperSQL第18张                        else
 446DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 447DbHelperSQL第18张                            return obj;
 448DbHelperSQL第20张                        }

 449DbHelperSQL第20张                    }

 450DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException e)
 451DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 452DbHelperSQL第18张                        connection.Close();
 453DbHelperSQL第18张                        throw e;
 454DbHelperSQL第20张                    }

 455DbHelperSQL第20张                }

 456DbHelperSQL第20张            }

 457DbHelperSQL第20张        }

 458DbHelperSQL第18张        public static object GetSingle(string SQLString, int Times)
 459DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 460DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 461DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 462DbHelperSQL第18张                using (SqlCommand cmd = new SqlCommand(SQLString, connection))
 463DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 464DbHelperSQL第18张                    try
 465DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 466DbHelperSQL第18张                        connection.Open();
 467DbHelperSQL第18张                        cmd.CommandTimeout = Times;
 468DbHelperSQL第18张                        object obj = cmd.ExecuteScalar();
 469DbHelperSQL第18张                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
 470DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 471DbHelperSQL第18张                            return null;
 472DbHelperSQL第20张                        }

 473DbHelperSQL第18张                        else
 474DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 475DbHelperSQL第18张                            return obj;
 476DbHelperSQL第20张                        }

 477DbHelperSQL第20张                    }

 478DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException e)
 479DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 480DbHelperSQL第18张                        connection.Close();
 481DbHelperSQL第18张                        throw e;
 482DbHelperSQL第20张                    }

 483DbHelperSQL第20张                }

 484DbHelperSQL第20张            }

 485DbHelperSQL第20张        }

 486DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 487DbHelperSQL第18张        /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close )
 488DbHelperSQL第18张        /// </summary>
 489DbHelperSQL第18张        /// <param name="strSQL">查询语句</param>
 490DbHelperSQL第20张        /// <returns>SqlDataReader</returns>

 491DbHelperSQL第18张        public static SqlDataReader ExecuteReader(string strSQL)
 492DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 493DbHelperSQL第18张            SqlConnection connection = new SqlConnection(connectionString);
 494DbHelperSQL第18张            SqlCommand cmd = new SqlCommand(strSQL, connection);
 495DbHelperSQL第18张            try
 496DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 497DbHelperSQL第18张                connection.Open();
 498DbHelperSQL第18张                SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 499DbHelperSQL第18张                return myReader;
 500DbHelperSQL第20张            }

 501DbHelperSQL第18张            catch (System.Data.SqlClient.SqlException e)
 502DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 503DbHelperSQL第18张                throw e;
 504DbHelperSQL第20张            }
   
 505DbHelperSQL第18张
 506DbHelperSQL第20张        }

 507DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 508DbHelperSQL第18张        /// 执行查询语句,返回DataSet
 509DbHelperSQL第18张        /// </summary>
 510DbHelperSQL第18张        /// <param name="SQLString">查询语句</param>
 511DbHelperSQL第20张        /// <returns>DataSet</returns>

 512DbHelperSQL第18张        public static DataSet Query(string SQLString)
 513DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 514DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 515DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 516DbHelperSQL第18张                DataSet ds = new DataSet();
 517DbHelperSQL第18张                try
 518DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 519DbHelperSQL第18张                    connection.Open();
 520DbHelperSQL第18张                    SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
 521DbHelperSQL第18张                    command.Fill(ds, "ds");
 522DbHelperSQL第20张                }

 523DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException ex)
 524DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 525DbHelperSQL第18张                    throw new Exception(ex.Message);
 526DbHelperSQL第20张                }

 527DbHelperSQL第18张                return ds;
 528DbHelperSQL第20张            }

 529DbHelperSQL第20张        }

 530DbHelperSQL第18张        public static DataSet Query(string SQLString, int Times)
 531DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 532DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 533DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 534DbHelperSQL第18张                DataSet ds = new DataSet();
 535DbHelperSQL第18张                try
 536DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 537DbHelperSQL第18张                    connection.Open();
 538DbHelperSQL第18张                    SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
 539DbHelperSQL第18张                    command.SelectCommand.CommandTimeout = Times;
 540DbHelperSQL第18张                    command.Fill(ds, "ds");
 541DbHelperSQL第20张                }

 542DbHelperSQL第18张                catch (System.Data.SqlClient.SqlException ex)
 543DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 544DbHelperSQL第18张                    throw new Exception(ex.Message);
 545DbHelperSQL第20张                }

 546DbHelperSQL第18张                return ds;
 547DbHelperSQL第20张            }

 548DbHelperSQL第20张        }

 549DbHelperSQL第18张
 550DbHelperSQL第18张
 551DbHelperSQL第18张
 552DbHelperSQL第20张        #endregion

 553DbHelperSQL第18张
 554DbHelperSQL第33张DbHelperSQL第34张        执行带参数的SQL语句#region 执行带参数的SQL语句
 555DbHelperSQL第18张
 556DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 557DbHelperSQL第18张        /// 执行SQL语句,返回影响的记录数
 558DbHelperSQL第18张        /// </summary>
 559DbHelperSQL第18张        /// <param name="SQLString">SQL语句</param>
 560DbHelperSQL第20张        /// <returns>影响的记录数</returns>

 561DbHelperSQL第18张        public static int ExecuteSql(string SQLString, params SqlParameter[] cmdParms)
 562DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 563DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 564DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 565DbHelperSQL第18张                using (SqlCommand cmd = new SqlCommand())
 566DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 567DbHelperSQL第18张                    try
 568DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 569DbHelperSQL第18张                        PrepareCommand(cmd, connection, null, SQLString, cmdParms);
 570DbHelperSQL第18张                        int rows = cmd.ExecuteNonQuery();
 571DbHelperSQL第18张                        cmd.Parameters.Clear();
 572DbHelperSQL第18张                        return rows;
 573DbHelperSQL第20张                    }

 574DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException e)
 575DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 576DbHelperSQL第18张                        throw e;
 577DbHelperSQL第20张                    }

 578DbHelperSQL第20张                }

 579DbHelperSQL第20张            }

 580DbHelperSQL第20张        }

 581DbHelperSQL第18张
 582DbHelperSQL第18张
 583DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 584DbHelperSQL第18张        /// 执行多条SQL语句,实现数据库事务。
 585DbHelperSQL第18张        /// </summary>
 586DbHelperSQL第20张        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>

 587DbHelperSQL第18张        public static void ExecuteSqlTran(Hashtable SQLStringList)
 588DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 589DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 590DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 591DbHelperSQL第18张                conn.Open();
 592DbHelperSQL第18张                using (SqlTransaction trans = conn.BeginTransaction())
 593DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 594DbHelperSQL第18张                    SqlCommand cmd = new SqlCommand();
 595DbHelperSQL第18张                    try
 596DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 597DbHelperSQL第18张                        //循环
 598DbHelperSQL第18张                        foreach (DictionaryEntry myDE in SQLStringList)
 599DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 600DbHelperSQL第18张                            string cmdText = myDE.Key.ToString();
 601DbHelperSQL第18张                            SqlParameter[] cmdParms = (SqlParameter[])myDE.Value;
 602DbHelperSQL第18张                            PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
 603DbHelperSQL第18张                            int val = cmd.ExecuteNonQuery();
 604DbHelperSQL第18张                            cmd.Parameters.Clear();
 605DbHelperSQL第20张                        }

 606DbHelperSQL第18张                        trans.Commit();
 607DbHelperSQL第20张                    }

 608DbHelperSQL第18张                    catch
 609DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 610DbHelperSQL第18张                        trans.Rollback();
 611DbHelperSQL第18张                        throw;
 612DbHelperSQL第20张                    }

 613DbHelperSQL第20张                }

 614DbHelperSQL第20张            }

 615DbHelperSQL第20张        }

 616DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 617DbHelperSQL第18张        /// z执行一复杂SQL语句的事务处理
 618DbHelperSQL第18张        /// </summary>
 619DbHelperSQL第18张        /// <param name="sql"></param>
 620DbHelperSQL第20张        /// <returns></returns>

 621DbHelperSQL第18张        public static int ExecuteSqlTran(string sql)
 622DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 623DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 624DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 625DbHelperSQL第18张                conn.Open();
 626DbHelperSQL第18张                using (SqlTransaction trans = conn.BeginTransaction())
 627DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 628DbHelperSQL第18张                    SqlCommand cmd = new SqlCommand();
 629DbHelperSQL第18张                    cmd.Connection = conn;
 630DbHelperSQL第18张                    cmd.Transaction = trans;
 631DbHelperSQL第18张                    try
 632DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 633DbHelperSQL第18张                        cmd.CommandText = sql;
 634DbHelperSQL第18张                        int i=cmd.ExecuteNonQuery();
 635DbHelperSQL第18张                        trans.Commit();
 636DbHelperSQL第18张                        return i;
 637DbHelperSQL第20张                    }

 638DbHelperSQL第18张                    catch
 639DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 640DbHelperSQL第18张                        trans.Rollback();
 641DbHelperSQL第18张                        return 0;
 642DbHelperSQL第18张                        throw;
 643DbHelperSQL第20张                    }

 644DbHelperSQL第20张                }

 645DbHelperSQL第20张            }

 646DbHelperSQL第20张        }

 647DbHelperSQL第18张
 648DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 649DbHelperSQL第18张        /// 执行多条SQL语句,实现数据库事务。
 650DbHelperSQL第18张        /// </summary>
 651DbHelperSQL第20张        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>

 652DbHelperSQL第18张        public static int ExecuteSqlTran(System.Collections.Generic.List<CommandInfo> cmdList)
 653DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 654DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 655DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 656DbHelperSQL第18张                conn.Open();
 657DbHelperSQL第18张                using (SqlTransaction trans = conn.BeginTransaction())
 658DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 659DbHelperSQL第18张                    SqlCommand cmd = new SqlCommand();
 660DbHelperSQL第18张                    try
 661DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张int count = 0;
 662DbHelperSQL第18张                        //循环
 663DbHelperSQL第18张                        foreach (CommandInfo myDE in cmdList)
 664DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 665DbHelperSQL第18张                            string cmdText = myDE.CommandText;
 666DbHelperSQL第18张                            SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters;
 667DbHelperSQL第18张                            PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
 668DbHelperSQL第18张                           
 669DbHelperSQL第18张                            if (myDE.EffentNextType == EffentNextType.WhenHaveContine || myDE.EffentNextType == EffentNextType.WhenNoHaveContine)
 670DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 671DbHelperSQL第18张                                if (myDE.CommandText.ToLower().IndexOf("count("== -1)
 672DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 673DbHelperSQL第18张                                    trans.Rollback();
 674DbHelperSQL第18张                                    return 0;
 675DbHelperSQL第20张                                }

 676DbHelperSQL第18张
 677DbHelperSQL第18张                                object obj = cmd.ExecuteScalar();
 678DbHelperSQL第18张                                bool isHave = false;
 679DbHelperSQL第18张                                if (obj == null && obj == DBNull.Value)
 680DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 681DbHelperSQL第18张                                    isHave = false;
 682DbHelperSQL第20张                                }

 683DbHelperSQL第18张                                isHave = Convert.ToInt32(obj) > 0;
 684DbHelperSQL第18张
 685DbHelperSQL第18张                                if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave)
 686DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 687DbHelperSQL第18张                                    trans.Rollback();
 688DbHelperSQL第18张                                    return 0;
 689DbHelperSQL第20张                                }

 690DbHelperSQL第18张                                if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave)
 691DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 692DbHelperSQL第18张                                    trans.Rollback();
 693DbHelperSQL第18张                                    return 0;
 694DbHelperSQL第20张                                }

 695DbHelperSQL第18张                                continue;
 696DbHelperSQL第20张                            }

 697DbHelperSQL第18张                            int val = cmd.ExecuteNonQuery();
 698DbHelperSQL第18张                            count += val;
 699DbHelperSQL第18张                            if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0)
 700DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 701DbHelperSQL第18张                                trans.Rollback();
 702DbHelperSQL第18张                                return 0;
 703DbHelperSQL第20张                            }

 704DbHelperSQL第18张                            cmd.Parameters.Clear();
 705DbHelperSQL第20张                        }

 706DbHelperSQL第18张                        trans.Commit();
 707DbHelperSQL第18张                        return count;
 708DbHelperSQL第20张                    }

 709DbHelperSQL第18张                    catch
 710DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 711DbHelperSQL第18张                        trans.Rollback();
 712DbHelperSQL第18张                        throw;
 713DbHelperSQL第20张                    }

 714DbHelperSQL第20张                }

 715DbHelperSQL第20张            }

 716DbHelperSQL第20张        }

 717DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 718DbHelperSQL第18张        /// 执行多条SQL语句,实现数据库事务。
 719DbHelperSQL第18张        /// </summary>
 720DbHelperSQL第20张        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>

 721DbHelperSQL第18张        public static void ExecuteSqlTranWithIndentity(System.Collections.Generic.List<CommandInfo> SQLStringList)
 722DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 723DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 724DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 725DbHelperSQL第18张                conn.Open();
 726DbHelperSQL第18张                using (SqlTransaction trans = conn.BeginTransaction())
 727DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 728DbHelperSQL第18张                    SqlCommand cmd = new SqlCommand();
 729DbHelperSQL第18张                    try
 730DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 731DbHelperSQL第18张                        int indentity = 0;
 732DbHelperSQL第18张                        //循环
 733DbHelperSQL第18张                        foreach (CommandInfo myDE in SQLStringList)
 734DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 735DbHelperSQL第18张                            string cmdText = myDE.CommandText;
 736DbHelperSQL第18张                            SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters;
 737DbHelperSQL第18张                            foreach (SqlParameter q in cmdParms)
 738DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 739DbHelperSQL第18张                                if (q.Direction == ParameterDirection.InputOutput)
 740DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 741DbHelperSQL第18张                                    q.Value = indentity;
 742DbHelperSQL第20张                                }

 743DbHelperSQL第20张                            }

 744DbHelperSQL第18张                            PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
 745DbHelperSQL第18张                            int val = cmd.ExecuteNonQuery();
 746DbHelperSQL第18张                            foreach (SqlParameter q in cmdParms)
 747DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 748DbHelperSQL第18张                                if (q.Direction == ParameterDirection.Output)
 749DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 750DbHelperSQL第18张                                    indentity = Convert.ToInt32(q.Value);
 751DbHelperSQL第20张                                }

 752DbHelperSQL第20张                            }

 753DbHelperSQL第18张                            cmd.Parameters.Clear();
 754DbHelperSQL第20张                        }

 755DbHelperSQL第18张                        trans.Commit();
 756DbHelperSQL第20张                    }

 757DbHelperSQL第18张                    catch
 758DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 759DbHelperSQL第18张                        trans.Rollback();
 760DbHelperSQL第18张                        throw;
 761DbHelperSQL第20张                    }

 762DbHelperSQL第20张                }

 763DbHelperSQL第20张            }

 764DbHelperSQL第20张        }

 765DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 766DbHelperSQL第18张        /// 执行多条SQL语句,实现数据库事务。
 767DbHelperSQL第18张        /// </summary>
 768DbHelperSQL第20张        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>

 769DbHelperSQL第18张        public static void ExecuteSqlTranWithIndentity(Hashtable SQLStringList)
 770DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 771DbHelperSQL第18张            using (SqlConnection conn = new SqlConnection(connectionString))
 772DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 773DbHelperSQL第18张                conn.Open();
 774DbHelperSQL第18张                using (SqlTransaction trans = conn.BeginTransaction())
 775DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 776DbHelperSQL第18张                    SqlCommand cmd = new SqlCommand();
 777DbHelperSQL第18张                    try
 778DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 779DbHelperSQL第18张                        int indentity = 0;
 780DbHelperSQL第18张                        //循环
 781DbHelperSQL第18张                        foreach (DictionaryEntry myDE in SQLStringList)
 782DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 783DbHelperSQL第18张                            string cmdText = myDE.Key.ToString();
 784DbHelperSQL第18张                            SqlParameter[] cmdParms = (SqlParameter[])myDE.Value;
 785DbHelperSQL第18张                            foreach (SqlParameter q in cmdParms)
 786DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 787DbHelperSQL第18张                                if (q.Direction == ParameterDirection.InputOutput)
 788DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 789DbHelperSQL第18张                                    q.Value = indentity;
 790DbHelperSQL第20张                                }

 791DbHelperSQL第20张                            }

 792DbHelperSQL第18张                            PrepareCommand(cmd, conn, trans, cmdText, cmdParms);
 793DbHelperSQL第18张                            int val = cmd.ExecuteNonQuery();
 794DbHelperSQL第18张                            foreach (SqlParameter q in cmdParms)
 795DbHelperSQL第16张DbHelperSQL第17张                            DbHelperSQL第15张{
 796DbHelperSQL第18张                                if (q.Direction == ParameterDirection.Output)
 797DbHelperSQL第16张DbHelperSQL第17张                                DbHelperSQL第15张{
 798DbHelperSQL第18张                                    indentity = Convert.ToInt32(q.Value);
 799DbHelperSQL第20张                                }

 800DbHelperSQL第20张                            }

 801DbHelperSQL第18张                            cmd.Parameters.Clear();
 802DbHelperSQL第20张                        }

 803DbHelperSQL第18张                        trans.Commit();
 804DbHelperSQL第20张                    }

 805DbHelperSQL第18张                    catch
 806DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 807DbHelperSQL第18张                        trans.Rollback();
 808DbHelperSQL第18张                        throw;
 809DbHelperSQL第20张                    }

 810DbHelperSQL第20张                }

 811DbHelperSQL第20张            }

 812DbHelperSQL第20张        }

 813DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 814DbHelperSQL第18张        /// 执行一条计算查询结果语句,返回查询结果(object)。
 815DbHelperSQL第18张        /// </summary>
 816DbHelperSQL第18张        /// <param name="SQLString">计算查询结果语句</param>
 817DbHelperSQL第20张        /// <returns>查询结果(object)</returns>

 818DbHelperSQL第18张        public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
 819DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 820DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 821DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 822DbHelperSQL第18张                using (SqlCommand cmd = new SqlCommand())
 823DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 824DbHelperSQL第18张                    try
 825DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 826DbHelperSQL第18张                        PrepareCommand(cmd, connection, null, SQLString, cmdParms);
 827DbHelperSQL第18张                        object obj = cmd.ExecuteScalar();
 828DbHelperSQL第18张                        cmd.Parameters.Clear();
 829DbHelperSQL第18张                        if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
 830DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 831DbHelperSQL第18张                            return null;
 832DbHelperSQL第20张                        }

 833DbHelperSQL第18张                        else
 834DbHelperSQL第16张DbHelperSQL第17张                        DbHelperSQL第15张{
 835DbHelperSQL第18张                            return obj;
 836DbHelperSQL第20张                        }

 837DbHelperSQL第20张                    }

 838DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException e)
 839DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 840DbHelperSQL第18张                        throw e;
 841DbHelperSQL第20张                    }

 842DbHelperSQL第20张                }

 843DbHelperSQL第20张            }

 844DbHelperSQL第20张        }

 845DbHelperSQL第18张
 846DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 847DbHelperSQL第18张        /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close )
 848DbHelperSQL第18张        /// </summary>
 849DbHelperSQL第18张        /// <param name="strSQL">查询语句</param>
 850DbHelperSQL第20张        /// <returns>SqlDataReader</returns>

 851DbHelperSQL第18张        public static SqlDataReader ExecuteReader(string SQLString, params SqlParameter[] cmdParms)
 852DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 853DbHelperSQL第18张            SqlConnection connection = new SqlConnection(connectionString);
 854DbHelperSQL第18张            SqlCommand cmd = new SqlCommand();
 855DbHelperSQL第18张            try
 856DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 857DbHelperSQL第18张                PrepareCommand(cmd, connection, null, SQLString, cmdParms);
 858DbHelperSQL第18张                SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 859DbHelperSQL第18张                cmd.Parameters.Clear();
 860DbHelperSQL第18张                return myReader;
 861DbHelperSQL第20张            }

 862DbHelperSQL第18张            catch (System.Data.SqlClient.SqlException e)
 863DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 864DbHelperSQL第18张                throw e;
 865DbHelperSQL第20张            }

 866DbHelperSQL第18张            //            finally
 867DbHelperSQL第18张            //            {
 868DbHelperSQL第18张            //                cmd.Dispose();
 869DbHelperSQL第18张            //                connection.Close();
 870DbHelperSQL第18张            //            }    
 871DbHelperSQL第18张
 872DbHelperSQL第20张        }

 873DbHelperSQL第18张
 874DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 875DbHelperSQL第18张        /// 执行查询语句,返回DataSet
 876DbHelperSQL第18张        /// </summary>
 877DbHelperSQL第18张        /// <param name="SQLString">查询语句</param>
 878DbHelperSQL第20张        /// <returns>DataSet</returns>

 879DbHelperSQL第18张        public static DataSet Query(string SQLString, params SqlParameter[] cmdParms)
 880DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 881DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 882DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 883DbHelperSQL第18张                SqlCommand cmd = new SqlCommand();
 884DbHelperSQL第18张                PrepareCommand(cmd, connection, null, SQLString, cmdParms);
 885DbHelperSQL第18张                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
 886DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 887DbHelperSQL第18张                    DataSet ds = new DataSet();
 888DbHelperSQL第18张                    try
 889DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 890DbHelperSQL第18张                        da.Fill(ds, "ds");
 891DbHelperSQL第18张                        cmd.Parameters.Clear();
 892DbHelperSQL第20张                    }

 893DbHelperSQL第18张                    catch (System.Data.SqlClient.SqlException ex)
 894DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 895DbHelperSQL第18张                        throw new Exception(ex.Message);
 896DbHelperSQL第20张                    }

 897DbHelperSQL第18张                    return ds;
 898DbHelperSQL第20张                }

 899DbHelperSQL第20张            }

 900DbHelperSQL第20张        }

 901DbHelperSQL第18张
 902DbHelperSQL第18张
 903DbHelperSQL第18张        private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
 904DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 905DbHelperSQL第18张            if (conn.State != ConnectionState.Open)
 906DbHelperSQL第18张                conn.Open();
 907DbHelperSQL第18张            cmd.Connection = conn;
 908DbHelperSQL第18张            cmd.CommandText = cmdText;
 909DbHelperSQL第18张            if (trans != null)
 910DbHelperSQL第18张                cmd.Transaction = trans;
 911DbHelperSQL第18张            cmd.CommandType = CommandType.Text;//cmdType;
 912DbHelperSQL第18张            if (cmdParms != null)
 913DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 914DbHelperSQL第18张
 915DbHelperSQL第18张
 916DbHelperSQL第18张                foreach (SqlParameter parameter in cmdParms)
 917DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
 918DbHelperSQL第18张                    if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
 919DbHelperSQL第18张                        (parameter.Value == null))
 920DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
 921DbHelperSQL第18张                        parameter.Value = DBNull.Value;
 922DbHelperSQL第20张                    }

 923DbHelperSQL第18张                    cmd.Parameters.Add(parameter);
 924DbHelperSQL第20张                }

 925DbHelperSQL第20张            }

 926DbHelperSQL第20张        }

 927DbHelperSQL第18张
 928DbHelperSQL第20张        #endregion

 929DbHelperSQL第18张
 930DbHelperSQL第33张DbHelperSQL第34张        存储过程操作#region 存储过程操作
 931DbHelperSQL第18张
 932DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 933DbHelperSQL第18张        /// 执行存储过程,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close )
 934DbHelperSQL第18张        /// </summary>
 935DbHelperSQL第18张        /// <param name="storedProcName">存储过程名</param>
 936DbHelperSQL第18张        /// <param name="parameters">存储过程参数</param>
 937DbHelperSQL第20张        /// <returns>SqlDataReader</returns>

 938DbHelperSQL第18张        public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
 939DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 940DbHelperSQL第18张            SqlConnection connection = new SqlConnection(connectionString);
 941DbHelperSQL第18张            SqlDataReader returnReader;
 942DbHelperSQL第18张            connection.Open();
 943DbHelperSQL第18张            SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);
 944DbHelperSQL第18张            command.CommandType = CommandType.StoredProcedure;
 945DbHelperSQL第18张            returnReader = command.ExecuteReader(CommandBehavior.CloseConnection);
 946DbHelperSQL第18张            return returnReader;
 947DbHelperSQL第18张            
 948DbHelperSQL第20张        }

 949DbHelperSQL第18张
 950DbHelperSQL第18张
 951DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 952DbHelperSQL第18张        /// 执行存储过程
 953DbHelperSQL第18张        /// </summary>
 954DbHelperSQL第18张        /// <param name="storedProcName">存储过程名</param>
 955DbHelperSQL第18张        /// <param name="parameters">存储过程参数</param>
 956DbHelperSQL第18张        /// <param name="tableName">DataSet结果中的表名</param>
 957DbHelperSQL第20张        /// <returns>DataSet</returns>

 958DbHelperSQL第18张        public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
 959DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 960DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 961DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 962DbHelperSQL第18张                DataSet dataSet = new DataSet();
 963DbHelperSQL第18张                connection.Open();
 964DbHelperSQL第18张                SqlDataAdapter sqlDA = new SqlDataAdapter();
 965DbHelperSQL第18张                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
 966DbHelperSQL第18张                sqlDA.Fill(dataSet, tableName);
 967DbHelperSQL第18张                connection.Close();
 968DbHelperSQL第18张                return dataSet;
 969DbHelperSQL第20张            }

 970DbHelperSQL第20张        }

 971DbHelperSQL第18张
 972DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
 973DbHelperSQL第18张        /// 执行存储过程
 974DbHelperSQL第18张        /// </summary>
 975DbHelperSQL第18张        /// <param name="storedProcName">存储过程名称</param>
 976DbHelperSQL第18张        /// <param name="parameters">参数列表</param>
 977DbHelperSQL第18张        /// <param name="tableName">表名</param>
 978DbHelperSQL第18张        /// <param name="startRecord">记录开始数</param>
 979DbHelperSQL第18张        /// <param name="recordCount">记录数量</param>
 980DbHelperSQL第20张        /// <returns>结果集</returns>

 981DbHelperSQL第18张        public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName, int startRecord, int recordCount)
 982DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 983DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 984DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 985DbHelperSQL第18张                DataSet dataSet = new DataSet();
 986DbHelperSQL第18张                connection.Open();
 987DbHelperSQL第18张                SqlDataAdapter sqlDA = new SqlDataAdapter();
 988DbHelperSQL第18张                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
 989DbHelperSQL第18张                sqlDA.Fill(dataSet, startRecord, recordCount, tableName);
 990DbHelperSQL第18张                connection.Close();
 991DbHelperSQL第18张                return dataSet;
 992DbHelperSQL第20张            }

 993DbHelperSQL第20张        }

 994DbHelperSQL第18张
 995DbHelperSQL第18张        public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName, int Times)
 996DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
 997DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
 998DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
 999DbHelperSQL第18张                DataSet dataSet = new DataSet();
1000DbHelperSQL第18张                connection.Open();
1001DbHelperSQL第18张                SqlDataAdapter sqlDA = new SqlDataAdapter();
1002DbHelperSQL第18张                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
1003DbHelperSQL第18张                sqlDA.SelectCommand.CommandTimeout = Times;
1004DbHelperSQL第18张                sqlDA.Fill(dataSet, tableName);
1005DbHelperSQL第18张                connection.Close();
1006DbHelperSQL第18张                return dataSet;
1007DbHelperSQL第20张            }

1008DbHelperSQL第20张        }

1009DbHelperSQL第18张
1010DbHelperSQL第18张
1011DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
1012DbHelperSQL第18张        /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
1013DbHelperSQL第18张        /// </summary>
1014DbHelperSQL第18张        /// <param name="connection">数据库连接</param>
1015DbHelperSQL第18张        /// <param name="storedProcName">存储过程名</param>
1016DbHelperSQL第18张        /// <param name="parameters">存储过程参数</param>
1017DbHelperSQL第20张        /// <returns>SqlCommand</returns>

1018DbHelperSQL第18张        private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
1019DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
1020DbHelperSQL第18张            SqlCommand command = new SqlCommand(storedProcName, connection);
1021DbHelperSQL第18张            command.CommandType = CommandType.StoredProcedure;
1022DbHelperSQL第18张            foreach (SqlParameter parameter in parameters)
1023DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
1024DbHelperSQL第18张                if (parameter != null)
1025DbHelperSQL第16张DbHelperSQL第17张                DbHelperSQL第15张{
1026DbHelperSQL第18张                    // 检查未分配值的输出参数,将其分配以DBNull.Value.
1027DbHelperSQL第18张                    if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
1028DbHelperSQL第18张                        (parameter.Value == null))
1029DbHelperSQL第16张DbHelperSQL第17张                    DbHelperSQL第15张{
1030DbHelperSQL第18张                        parameter.Value = DBNull.Value;
1031DbHelperSQL第20张                    }

1032DbHelperSQL第18张                    command.Parameters.Add(parameter);
1033DbHelperSQL第20张                }

1034DbHelperSQL第20张            }

1035DbHelperSQL第18张           
1036DbHelperSQL第18张            return command;
1037DbHelperSQL第20张        }

1038DbHelperSQL第18张
1039DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
1040DbHelperSQL第18张        /// 执行存储过程,返回影响的行数        
1041DbHelperSQL第18张        /// </summary>
1042DbHelperSQL第18张        /// <param name="storedProcName">存储过程名</param>
1043DbHelperSQL第18张        /// <param name="parameters">存储过程参数</param>
1044DbHelperSQL第18张        /// <param name="rowsAffected">影响的行数</param>
1045DbHelperSQL第20张        /// <returns></returns>

1046DbHelperSQL第18张        public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
1047DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
1048DbHelperSQL第18张            using (SqlConnection connection = new SqlConnection(connectionString))
1049DbHelperSQL第16张DbHelperSQL第17张            DbHelperSQL第15张{
1050DbHelperSQL第18张                int result;
1051DbHelperSQL第18张                connection.Open();
1052DbHelperSQL第18张                SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);
1053DbHelperSQL第18张                rowsAffected = command.ExecuteNonQuery();
1054DbHelperSQL第18张                result = (int)command.Parameters["ReturnValue"].Value;
1055DbHelperSQL第18张                //Connection.Close();
1056DbHelperSQL第18张                return result;
1057DbHelperSQL第20张            }

1058DbHelperSQL第20张        }

1059DbHelperSQL第18张
1060DbHelperSQL第16张DbHelperSQL第17张        /**//// <summary>
1061DbHelperSQL第18张        /// 创建 SqlCommand 对象实例(用来返回一个整数值)    
1062DbHelperSQL第18张        /// </summary>
1063DbHelperSQL第18张        /// <param name="storedProcName">存储过程名</param>
1064DbHelperSQL第18张        /// <param name="parameters">存储过程参数</param>
1065DbHelperSQL第20张        /// <returns>SqlCommand 对象实例</returns>

1066DbHelperSQL第18张        private static SqlCommand BuildIntCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
1067DbHelperSQL第16张DbHelperSQL第17张        DbHelperSQL第15张{
1068DbHelperSQL第18张            SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);
1069DbHelperSQL第18张            command.Parameters.Add(new SqlParameter("ReturnValue",
1070DbHelperSQL第18张                SqlDbType.Int, 4, ParameterDirection.ReturnValue,
1071DbHelperSQL第18张                false00string.Empty, DataRowVersion.Default, null));
1072DbHelperSQL第18张            return command;
1073DbHelperSQL第20张        }

1074DbHelperSQL第20张        #endregion

1075DbHelperSQL第18张
1076DbHelperSQL第20张    }

1077DbHelperSQL第18张
1078DbHelperSQL第1471张}

1079DbHelperSQL第3张

免责声明:文章转载自《DbHelperSQL》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[收藏]C#中string与byte[]的转换帮助类.NET教程,C#语言mysql explain用法和结果的含义下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle数据库的一次异常起停处理。

在重启数据库的时候,忘记把一个应用关停了,想起来的时候,就ctrl+c,把数据库shutdown immediate 给强制停下了,把该应用再停止,然后shutdown immdiate,这时候数据报错了。 oracle@NMSSERVER1:~> sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.3.0 P...

SQL Server 2008 允许远程连接的配置

如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置。 在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中。 1、单击Windows的"开始",依次选择"所有程序"、"Microsoft SQL Server 2008",然后单击“SQL Server Management Stud...

JAVA框架-Mybatis中(代理、动态SQL和高级映射)

Mapper代理 在上一个博客中,我们直接利用session和<select>标签来执行sql的方式存在一些问题。 session执行sql时都需要提供要执行sql的id,而这个id是字符串类型,意味着id是否正确在编译期间是无法获知的,必须等到运行时才能发现错误, sql需要的参数和返回值类都不明确,这也增加了出错的概率 我们最理想的方式...

SqlServer2000连不上

SqlServer2000连不上 在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式:     一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等。     二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利...

安装PL/SQL Developer 遇到的问题及解决方法

在用PL/SQL Developer安装Oracle客户端时,报错误,初始化失败,一直找不到原因,换Oracle版本也解决不了问题,之后才发现,是Oracle的环境变量配置错了,之前用户配了Oracle全局环境变量在windows 开始菜单-->计算机--->右键属性--->高级系统设置-->最下边点环境变量-->系统变量--...

mssql sqlserver 使用脚本输出excel文件的方法分享

转自:http://www.maomao365.com/?p=6683 摘要: 下文将分享使用sql脚本输出excel的方法 此脚本可以应用于 表或视图生成excel的方法,若需使用sql脚本输出excel数据,我们可将sql脚本生成视图或临时表,然后再输出excel------------------------------------输出excel...