コード例 #1
0
ファイル: DbFunction.cs プロジェクト: SoMeTech/SoMeRegulatory
        public static string GetLongDateTimeString(DateTime _datetime, DataConfig _config)
        {
            switch (_config.DatabaseType)
            {
                case DataBaseType.SqlServer:
                    return ("'" + _datetime.ToString("yyyy-MM-dd HH:mm:ss") + "'");

                case DataBaseType.Oracle:
                    return ("to_date('" + _datetime.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd hh24:mi:ss')");

                case DataBaseType.OleDB:
                    return ("#" + _datetime.ToString("yyyy-MM-dd HH:mm:ss") + "#");
            }
            return "";
        }
コード例 #2
0
        public static DataBase GetDataBase(DataConfig _config)
        {
            switch (_config.DatabaseType)
            {
                case DataBaseType.SqlServer:
                    database = new SqlServerDataBase();
                    break;

                case DataBaseType.Oracle:
                    database = new OracleDataBase();
                    break;

                case DataBaseType.OleDB:
                    database = new OleDbDataBase();
                    break;

                default:
                    database = new SqlServerDataBase();
                    break;
            }
            return database;
        }
コード例 #3
0
ファイル: DBType.cs プロジェクト: SoMeTech/SoMeRegulatory
        public static object GetMyDataType(MyDataType mdt, DataConfig _config)
        {
            new object();
            switch (mdt)
            {
                case MyDataType.Int:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Number;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Integer;
                    }
                    return SqlDbType.Int;

                case MyDataType.Int16:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Int16;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Single;
                    }
                    return SqlDbType.SmallInt;

                case MyDataType.Int32:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Int32;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.BigInt;
                    }
                    return SqlDbType.BigInt;

                case MyDataType.Double:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Double;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Double;
                    }
                    return SqlDbType.Real;

                case MyDataType.Float:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Float;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Currency;
                    }
                    return SqlDbType.Float;

                case MyDataType.Number:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Number;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Numeric;
                    }
                    return SqlDbType.Decimal;

                case MyDataType.Money:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        throw new Exception("Oracle中无此参数类型");
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        throw new Exception("OleDb中无此参数类型");
                    }
                    return SqlDbType.Float;

                case MyDataType.SmallMoney:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        throw new Exception("Oracle中无此参数类型");
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        throw new Exception("OleDb中无此参数类型");
                    }
                    return SqlDbType.SmallMoney;

                case MyDataType.Char:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Char;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Char;
                    }
                    return SqlDbType.Char;

                case MyDataType.VarChar:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.VarChar;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.VarChar;
                    }
                    return SqlDbType.VarChar;

                case MyDataType.NVarChar:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.NVarChar;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.VarChar;
                    }
                    return SqlDbType.NVarChar;

                case MyDataType.Clob:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Clob;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.LongVarChar;
                    }
                    return SqlDbType.Text;

                case MyDataType.NChar:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.NChar;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.BSTR;
                    }
                    return SqlDbType.NChar;

                case MyDataType.NClob:
                    if (_config.DatabaseType != DataBaseType.Oracle)
                    {
                        if (_config.DatabaseType != DataBaseType.SqlServer)
                        {
                            throw new Exception("OleDb中无此参数类型");
                        }
                        return SqlDbType.NText;
                    }
                    return OracleType.NClob;

                case MyDataType.DateTime:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.DateTime;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Date;
                    }
                    return SqlDbType.DateTime;

                case MyDataType.Timestamp:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Timestamp;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.DBTimeStamp;
                    }
                    return SqlDbType.Timestamp;

                case MyDataType.Boolean:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        throw new Exception("Oracle中无此参数类型");
                    }
                    if (_config.DatabaseType == DataBaseType.SqlServer)
                    {
                        return SqlDbType.Bit;
                    }
                    return OleDbType.Boolean;

                case MyDataType.Blob:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Blob;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.LongVarBinary;
                    }
                    return SqlDbType.Image;

                case MyDataType.Byte:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Byte;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Binary;
                    }
                    return SqlDbType.TinyInt;

                case MyDataType.Raw:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.Raw;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Binary;
                    }
                    return SqlDbType.Binary;

                case MyDataType.RowId:
                    if (_config.DatabaseType == DataBaseType.Oracle)
                    {
                        return OracleType.RowId;
                    }
                    if (_config.DatabaseType != DataBaseType.SqlServer)
                    {
                        return OleDbType.Guid;
                    }
                    return SqlDbType.UniqueIdentifier;

                case MyDataType.Cursor:
                    if (_config.DatabaseType != DataBaseType.Oracle)
                    {
                        if (_config.DatabaseType == DataBaseType.SqlServer)
                        {
                            throw new Exception("SqlServer无此参数类型");
                        }
                        throw new Exception("OleDb无此参数类型");
                    }
                    return OracleType.Cursor;
            }
            throw new Exception("QxRoom类库未知的参数类型");
        }
コード例 #4
0
        public static DataBase GetSingleDataBase(DataConfig _config)
        {
            if (database == null)
            {
                lock (obj)
                {
                    if (database == null)
                    {
                        switch (_config.DatabaseType)
                        {
                            case DataBaseType.SqlServer:
                                database = new SqlServerDataBase();
                                goto Label_006C;

                            case DataBaseType.Oracle:
                                database = new OracleDataBase();
                                goto Label_006C;

                            case DataBaseType.OleDB:
                                database = new OleDbDataBase();
                                goto Label_006C;
                        }
                        database = new SqlServerDataBase();
                    }
                }
            }
            Label_006C:
            return database;
        }