📄 sqliteparameter.cs
字号:
/// </summary>
/// <param name="parameterName">The name of the parameter</param>
/// <param name="parameterType">The data type</param>
/// <param name="parameterSize">The size of the parameter</param>
/// <param name="direction">Only input parameters are supported in SQLite</param>
/// <param name="precision">Ignored</param>
/// <param name="scale">Ignored</param>
/// <param name="sourceColumn">The source column</param>
/// <param name="rowVersion">The row version information</param>
/// <param name="sourceColumnNullMapping">Whether or not this parameter is for comparing NULL's</param>
/// <param name="value">The intial value to assign the parameter</param>
#if !PLATFORM_COMPACTFRAMEWORK
[EditorBrowsable(EditorBrowsableState.Advanced)]
#endif
public SQLiteParameter(string parameterName, DbType parameterType, int parameterSize, ParameterDirection direction, byte precision, byte scale, string sourceColumn, DataRowVersion rowVersion, bool sourceColumnNullMapping, object value)
: this(parameterName, parameterType, parameterSize, sourceColumn, rowVersion)
{
Direction = direction;
SourceColumnNullMapping = sourceColumnNullMapping;
Value = value;
}
/// <summary>
/// Constructs an unnamed parameter of the specified type and size
/// </summary>
/// <param name="parameterType">The data type</param>
/// <param name="parameterSize">The size of the parameter</param>
public SQLiteParameter(DbType parameterType, int parameterSize)
: this(null, parameterType, parameterSize, null, DataRowVersion.Current)
{
}
/// <summary>
/// Constructs an unnamed parameter of the specified type, size, and source column
/// </summary>
/// <param name="parameterType">The data type</param>
/// <param name="parameterSize">The size of the parameter</param>
/// <param name="sourceColumn">The source column</param>
public SQLiteParameter(DbType parameterType, int parameterSize, string sourceColumn)
: this(null, parameterType, parameterSize, sourceColumn, DataRowVersion.Current)
{
}
/// <summary>
/// Constructs an unnamed parameter of the specified type, size, source column and row version
/// </summary>
/// <param name="parameterType">The data type</param>
/// <param name="parameterSize">The size of the parameter</param>
/// <param name="sourceColumn">The source column</param>
/// <param name="rowVersion">The row version information</param>
public SQLiteParameter(DbType parameterType, int parameterSize, string sourceColumn, DataRowVersion rowVersion)
: this(null, parameterType, parameterSize, sourceColumn, rowVersion)
{
}
/// <summary>
/// Whether or not the parameter can contain a null value
/// </summary>
public override bool IsNullable
{
get
{
return _nullable;
}
set
{
_nullable = value;
}
}
/// <summary>
/// Returns the datatype of the parameter
/// </summary>
#if !PLATFORM_COMPACTFRAMEWORK
[DbProviderSpecificTypeProperty(true)]
[RefreshProperties(RefreshProperties.All)]
#endif
public override DbType DbType
{
get
{
if (_dbType == -1) return DbType.String; // Unassigned default value is String
return (DbType)_dbType;
}
set
{
_dbType = (int)value;
}
}
/// <summary>
/// Supports only input parameters
/// </summary>
public override ParameterDirection Direction
{
get
{
return ParameterDirection.Input;
}
set
{
if (value != ParameterDirection.Input)
throw new NotSupportedException();
}
}
/// <summary>
/// Returns the parameter name
/// </summary>
public override string ParameterName
{
get
{
return _parameterName;
}
set
{
_parameterName = value;
}
}
/// <summary>
/// Not implemented
/// </summary>
public override void ResetDbType()
{
}
/// <summary>
/// Returns the size of the parameter
/// </summary>
#if !PLATFORM_COMPACTFRAMEWORK
[DefaultValue((int)0)]
#endif
public override int Size
{
get
{
return _dataSize;
}
set
{
_dataSize = value;
}
}
/// <summary>
/// Gets/sets the source column
/// </summary>
public override string SourceColumn
{
get
{
return _sourceColumn;
}
set
{
_sourceColumn = value;
}
}
/// <summary>
/// Used by DbCommandBuilder to determine the mapping for nullable fields
/// </summary>
public override bool SourceColumnNullMapping
{
get
{
return _nullMapping;
}
set
{
_nullMapping = value;
}
}
/// <summary>
/// Gets and sets the row version
/// </summary>
public override DataRowVersion SourceVersion
{
get
{
return _rowVersion;
}
set
{
_rowVersion = value;
}
}
/// <summary>
/// Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
/// </summary>
#if !PLATFORM_COMPACTFRAMEWORK
[TypeConverter(typeof(StringConverter)), RefreshProperties(RefreshProperties.All)]
#endif
public override object Value
{
get
{
return _objValue;
}
set
{
_objValue = value;
if (_dbType == -1 && _objValue != null && _objValue != DBNull.Value) // If the DbType has never been assigned, try to glean one from the value's datatype
_dbType = (int)SQLiteConvert.TypeToDbType(_objValue.GetType());
}
}
/// <summary>
/// Clones a parameter
/// </summary>
/// <returns>A new, unassociated SQLiteParameter</returns>
public object Clone()
{
SQLiteParameter newparam = new SQLiteParameter(this);
return newparam;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -