1、 /数据库连接字符串(web.config来配置) / protected static string connectionString = ConfigurationSettings.AppSettings; public DbHelperOra() #region 公用方法 public static int GetMaxID(string FieldName,string TableName) string strsql = select max( + FieldName + )+1 from + TableName; object obj = GetSingle(strsql); if
2、 (obj = null) return 1; else return int.Parse(obj.ToString(); public static bool Exists(string strSql, params SqlParameter cmdParms) object obj = GetSingle(strSql, cmdParms); int cmdresult; if (Object.Equals(obj, null) | (Object.Equals(obj, System.DBNull.Value) cmdresult = 0; cmdresult = int.Parse(o
3、bj.ToString(); if (cmdresult = 0) return false; return true; #endregion #region 执行简单SQL语句 / SQL语句returns影响的记录数 public static int ExecuteSql(string SQLString) using (OracleConnection connection = new OracleConnection(connectionString) using (OracleCommand cmd = new OracleCommand(SQLString,connection)
4、 try connection.Open(); int rows=cmd.ExecuteNonQuery(); return rows; catch(System.Data.OracleClient.OracleException E) connection.Close(); throw new Exception(E.Message); / 执行多条SQL语句,实现数据库事务。SQLStringList多条SQL语句 public static void ExecuteSqlTran(ArrayList SQLStringList) using (OracleConnection conn
5、= new OracleConnection(connectionString) conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection=conn; OracleTransaction tx=conn.BeginTransaction(); cmd.Transaction=tx; for(int n=0;n1) cmd.CommandText=strsql; cmd.ExecuteNonQuery(); tx.Commit(); tx.Rollback(); / 执行带一个存储过程参数的的SQL语句。conten
6、t参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加 public static int ExecuteSql(string SQLString,string content) OracleCommand cmd = new OracleCommand(SQLString,connection); System.Data.OracleClient.OracleParameter myParameter = new System.Data.OracleClient.OracleParameter ( content, OracleDbType.NText); myParam
7、eter.Value = content ; cmd.Parameters.Add(myParameter); finally cmd.Dispose(); / 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)strSQLfs图像字节,数据库的字段类型为image的情况 public static int ExecuteSqlInsertImg(string strSQL,byte fs) OracleCommand cmd = new OracleCommand(strSQL,connection); fs, OracleDbType.Image); myParameter.Val
8、ue = fs ; / 执行一条计算查询结果语句,返回查询结果(object)。计算查询结果语句查询结果(object) public static object GetSingle(string SQLString) using(OracleCommand cmd = new OracleCommand(SQLString,connection) object obj = cmd.ExecuteScalar(); if(Object.Equals(obj,null)|(Object.Equals(obj,System.DBNull.Value) return null; return obj
9、; catch(System.Data.OracleClient.OracleException e) throw new Exception(e.Message); / 执行查询语句,返回OracleDataReader查询语句OracleDataReader public static OracleDataReader ExecuteReader(string strSQL) OracleConnection connection = new OracleConnection(connectionString); OracleDataReader myReader = cmd.Execut
10、eReader(); return myReader; / 执行查询语句,返回DataSetDataSet public static DataSet Query(string SQLString) DataSet ds = new DataSet(); OracleDataAdapter command = new OracleDataAdapter(SQLString,connection); command.Fill(ds,ds); catch(System.Data.OracleClient.OracleException ex) throw new Exception(ex.Mess
11、age); return ds; #region 执行带参数的SQL语句 public static int ExecuteSql(string SQLString,params OracleParameter cmdParms) using (OracleCommand cmd = new OracleCommand() PrepareCommand(cmd, connection, null,SQLString, cmdParms); cmd.Parameters.Clear();SQL语句的哈希表(key为sql语句,value是该语句的OracleParameter) public s
12、tatic void ExecuteSqlTran(Hashtable SQLStringList) using (OracleTransaction trans = conn.BeginTransaction() try /循环 foreach (DictionaryEntry myDE in SQLStringList) string cmdText=myDE.Key.ToString(); OracleParameter cmdParms=(OracleParameter)myDE.Value; PrepareCommand(cmd,conn,trans,cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); trans.Commit(); catch trans.Rollback(); throw; public static object GetSingle(string SQLString,params OracleParameter cmdParms) public static OracleDataReader ExecuteReader(string SQLString,par
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2