现在的位置: 首页 > 综合 > 正文

C#,关于和oracle连接的操作

2013年08月19日 ⁄ 综合 ⁄ 共 2366字 ⁄ 字号 评论关闭

//Congraduation content:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="conectstring" value="Data Source=数据库名;User ID=用户名;Password=密码;Unicode=True"/>
  </appSettings>
</configuration>       

 //Get connecting string from app.config 

        public static readonly string ConnectString =

            System.Configuration.ConfigurationManager.AppSettings["conectstring"];

     //Connontion 

        static ConnectDb()
        {
            ConnOracle = new OracleConnection(ConnectString);
            try
            {
                ConnOracle.Open();
            }
            catch { }
        }

        

     //prepare a Command

        /// <summary>
        /// Internal function to prepare a command for execution by the database 
        /// </summary>
        /// <param name="cmd">Existing command object</param>
        /// <param name="conn">Database connection object </param>
        /// <param name="cmdType">Command Type</param>
        /// <param name="CmdText">Actual sql</param>
        /// <param name="commandParameters">Parameters to bind to a command</param>
        public static void PrepareCommand(OracleCommand cmd,OracleConnection conn, CommandType cmdType, string CmdText,
            OracleTransaction tra =null,params OracleParameter[] commandParameters)
        {
            cmd.Connection = conn;
            cmd.CommandType = cmdType;
            cmd.CommandText = CmdText;

            if(tra != null)
                cmd.Transaction = tra;

            if (commandParameters != null)
            {
                foreach (OracleParameter parm in commandParameters)
                {
                    cmd.Parameters.Add(parm);
                }
            }
        }

//Excute a Query which do not include a select 

 /// <summary>
        /// Excute a database Query which does't include a select
        /// </summary>
        /// <param name="ConnctStr">Connecttion string to database</param>
        /// <param name="cmdType">Command Type</param>
        /// <param name="CmdText">actual sql</param>
        /// <param name="commandParameters">Parameters to bind to Command</param>
        /// <returns></returns>
        public static int ExuteNonquery( CommandType cmdType, string CmdText,OracleTransaction tran,
            params OracleParameter[] commandParameters)
        {
            //
            OracleCommand cmd = new OracleCommand();
            OracleConnection conn = ConnOracle;

            try
            {
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }

                PrepareCommand(cmd, conn, cmdType, CmdText, tran, commandParameters);

                int val = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                tran.Commit();
                return val;
            }
            catch
            {
                tran.Rollback();
                conn.Close();
                throw;
            }
        }

抱歉!评论已关闭.