⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqliteparameter.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.Data
{
    using System;
    using System.ComponentModel;

    public sealed class SQLiteParameter : ICloneable
    {
        private int _dataSize;
        internal int _dbType;
        private bool _nullable;
        private bool _nullMapping;
        private object _objValue;
        private string _parameterName;
        private DataRowVersion _rowVersion;
        private string _sourceColumn;

        public SQLiteParameter() : this(null, ~Imps.Client.Data.DbType.AnsiString, 0, null, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(Imps.Client.Data.DbType dbType) : this(null, dbType, 0, null, DataRowVersion.Current)
        {
        }

        private SQLiteParameter(SQLiteParameter source) : this(source.ParameterName, (Imps.Client.Data.DbType) source._dbType, 0, source.Direction, source.IsNullable, 0, 0, source.SourceColumn, source.SourceVersion, source.Value)
        {
            this._nullMapping = source._nullMapping;
        }

        public SQLiteParameter(string parameterName) : this(parameterName, ~Imps.Client.Data.DbType.AnsiString, 0, null, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(Imps.Client.Data.DbType parameterType, int parameterSize) : this(null, parameterType, parameterSize, null, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(Imps.Client.Data.DbType dbType, object value) : this(null, dbType, 0, null, DataRowVersion.Current)
        {
            this.Value = value;
        }

        public SQLiteParameter(Imps.Client.Data.DbType dbType, string sourceColumn) : this(null, dbType, 0, sourceColumn, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType dbType) : this(parameterName, dbType, 0, null, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(string parameterName, object value) : this(parameterName, ~Imps.Client.Data.DbType.AnsiString, 0, null, DataRowVersion.Current)
        {
            this.Value = value;
        }

        public SQLiteParameter(Imps.Client.Data.DbType parameterType, int parameterSize, string sourceColumn) : this(null, parameterType, parameterSize, sourceColumn, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(Imps.Client.Data.DbType dbType, string sourceColumn, DataRowVersion rowVersion) : this(null, dbType, 0, sourceColumn, rowVersion)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType parameterType, int parameterSize) : this(parameterName, parameterType, parameterSize, null, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType dbType, string sourceColumn) : this(parameterName, dbType, 0, sourceColumn, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(Imps.Client.Data.DbType parameterType, int parameterSize, string sourceColumn, DataRowVersion rowVersion) : this(null, parameterType, parameterSize, sourceColumn, rowVersion)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType parameterType, int parameterSize, string sourceColumn) : this(parameterName, parameterType, parameterSize, sourceColumn, DataRowVersion.Current)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType dbType, string sourceColumn, DataRowVersion rowVersion) : this(parameterName, dbType, 0, sourceColumn, rowVersion)
        {
        }

        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType parameterType, int parameterSize, string sourceColumn, DataRowVersion rowVersion)
        {
            this._parameterName = parameterName;
            this._dbType = (int) parameterType;
            this._sourceColumn = sourceColumn;
            this._rowVersion = rowVersion;
            this._objValue = null;
            this._dataSize = parameterSize;
            this._nullMapping = false;
            this._nullable = true;
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType parameterType, int parameterSize, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion rowVersion, object value) : this(parameterName, parameterType, parameterSize, sourceColumn, rowVersion)
        {
            this.Direction = direction;
            this.IsNullable = isNullable;
            this.Value = value;
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        public SQLiteParameter(string parameterName, Imps.Client.Data.DbType parameterType, int parameterSize, ParameterDirection direction, byte precision, byte scale, string sourceColumn, DataRowVersion rowVersion, bool sourceColumnNullMapping, object value) : this(parameterName, parameterType, parameterSize, sourceColumn, rowVersion)
        {
            this.Direction = direction;
            this.SourceColumnNullMapping = sourceColumnNullMapping;
            this.Value = value;
        }

        public object Clone()
        {
            return new SQLiteParameter(this);
        }

        public void ResetDbType()
        {
        }

        public Imps.Client.Data.DbType DbType
        {
            get
            {
                if (this._dbType == -1)
                {
                    return Imps.Client.Data.DbType.String;
                }
                return (Imps.Client.Data.DbType) this._dbType;
            }
            set
            {
                this._dbType = (int) value;
            }
        }

        public ParameterDirection Direction
        {
            get
            {
                return ParameterDirection.Input;
            }
            set
            {
                if (value != ParameterDirection.Input)
                {
                    throw new NotSupportedException();
                }
            }
        }

        public bool IsNullable
        {
            get
            {
                return this._nullable;
            }
            set
            {
                this._nullable = value;
            }
        }

        public string ParameterName
        {
            get
            {
                return this._parameterName;
            }
            set
            {
                this._parameterName = value;
            }
        }

        [DefaultValue(0)]
        public int Size
        {
            get
            {
                return this._dataSize;
            }
            set
            {
                this._dataSize = value;
            }
        }

        public string SourceColumn
        {
            get
            {
                return this._sourceColumn;
            }
            set
            {
                this._sourceColumn = value;
            }
        }

        public bool SourceColumnNullMapping
        {
            get
            {
                return this._nullMapping;
            }
            set
            {
                this._nullMapping = value;
            }
        }

        public DataRowVersion SourceVersion
        {
            get
            {
                return this._rowVersion;
            }
            set
            {
                this._rowVersion = value;
            }
        }

        [RefreshProperties(RefreshProperties.All), TypeConverter(typeof(StringConverter))]
        public object Value
        {
            get
            {
                return this._objValue;
            }
            set
            {
                this._objValue = value;
                if (((this._dbType == -1) && (this._objValue != null)) && (this._objValue != DBNull.Value))
                {
                    this._dbType = (int) SQLiteConvert.TypeToDbType(this._objValue.GetType());
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -