现在要换数据库,所以相关的Sql语句要换成Oracle的,
1.SqlDbType是替换成OracleDbType还是OracleType,如果是替换成OracleDbType,那么引用是什么?
2.SqlDbType.Bit的Bit在Oracle里面应该是什么类型?

解决方案 »

  1.   

    [code=C#]
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.OracleClient;
    using System.Collections;namespace Kufolin.Framework.DBUtility
    {    /// <summary>
        /// A helper class used to execute queries against an Oracle database
        /// </summary>
        public abstract class OracleHelper {        // Read the connection strings from the configuration file
            public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["OraConnString1"].ConnectionString;
            public static readonly string ConnectionStringInventoryDistributedTransaction = ConfigurationManager.ConnectionStrings["OraConnString2"].ConnectionString;
            public static readonly string ConnectionStringOrderDistributedTransaction = ConfigurationManager.ConnectionStrings["OraConnString3"].ConnectionString;
            public static readonly string ConnectionStringProfile = ConfigurationManager.ConnectionStrings["OraProfileConnString"].ConnectionString;
            public static readonly string ConnectionStringMembership = ConfigurationManager.ConnectionStrings["OraMembershipConnString"].ConnectionString;        //Create a hashtable for the parameter cached
            private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());        /// <summary>
            /// Execute a database query which does not include a select
            /// </summary>
            /// <param name="connString">Connection string to database</param>
            /// <param name="cmdType">Command type either stored procedure or SQL</param>
            /// <param name="cmdText">Acutall SQL Command</param>
            /// <param name="commandParameters">Parameters to bind to the command</param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OracleParameter[] commandParameters) {
                // Create a new Oracle command
                OracleCommand cmd = new OracleCommand();            //Create a connection
                using (OracleConnection connection = new OracleConnection(connectionString)) {                //Prepare the command
                    PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);                //Execute the command
                    int val = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return val;
                }
            }        /// <summary>
            /// Execute an OracleCommand (that returns no resultset) against an existing database transaction 
            /// using the provided parameters.
            /// </summary>
            /// <res>
            /// e.g.:  
            ///  int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new OracleParameter(":prodid", 24));
            /// </res>
            /// <param name="trans">an existing database transaction</param>
            /// <param name="commandType">the CommandType (stored procedure, text, etc.)</param>
            /// <param name="commandText">the stored procedure name or PL/SQL command</param>
      
      

  2.   

    什么年头,CSDN这么荒无人烟了
      

  3.   

    替换成OracleDbType还是OracleType,关键看你引用的是哪个dll,微软作的是前面哪一个,oracle自己作的是后面那一个。bit 类型就是 1和0,你在oracle 找个取值小的数值型就得了。