|
@@ -10,6 +10,7 @@
|
|
|
// Copyright (C) Tim Coleman, 2002
|
|
// Copyright (C) Tim Coleman, 2002
|
|
|
//
|
|
//
|
|
|
|
|
|
|
|
|
|
+using Mono.Data.Tds;
|
|
|
using Mono.Data.Tds.Protocol;
|
|
using Mono.Data.Tds.Protocol;
|
|
|
using System;
|
|
using System;
|
|
|
using System.ComponentModel;
|
|
using System.ComponentModel;
|
|
@@ -23,22 +24,18 @@ namespace System.Data.SqlClient {
|
|
|
{
|
|
{
|
|
|
#region Fields
|
|
#region Fields
|
|
|
|
|
|
|
|
|
|
+ TdsMetaParameter metaParameter;
|
|
|
|
|
+
|
|
|
SqlParameterCollection container = null;
|
|
SqlParameterCollection container = null;
|
|
|
DbType dbType;
|
|
DbType dbType;
|
|
|
ParameterDirection direction = ParameterDirection.Input;
|
|
ParameterDirection direction = ParameterDirection.Input;
|
|
|
bool isNullable;
|
|
bool isNullable;
|
|
|
bool isSizeSet = false;
|
|
bool isSizeSet = false;
|
|
|
bool isTypeSet = false;
|
|
bool isTypeSet = false;
|
|
|
- object objValue;
|
|
|
|
|
int offset;
|
|
int offset;
|
|
|
- string parameterName;
|
|
|
|
|
- byte precision;
|
|
|
|
|
- byte scale;
|
|
|
|
|
- int size;
|
|
|
|
|
SqlDbType sqlDbType;
|
|
SqlDbType sqlDbType;
|
|
|
string sourceColumn;
|
|
string sourceColumn;
|
|
|
DataRowVersion sourceVersion;
|
|
DataRowVersion sourceVersion;
|
|
|
- string typeName;
|
|
|
|
|
|
|
|
|
|
#endregion // Fields
|
|
#endregion // Fields
|
|
|
|
|
|
|
@@ -51,8 +48,7 @@ namespace System.Data.SqlClient {
|
|
|
|
|
|
|
|
public SqlParameter (string parameterName, object value)
|
|
public SqlParameter (string parameterName, object value)
|
|
|
{
|
|
{
|
|
|
- this.parameterName = parameterName;
|
|
|
|
|
- this.objValue = value;
|
|
|
|
|
|
|
+ metaParameter = new TdsMetaParameter (parameterName, value);
|
|
|
this.sourceVersion = DataRowVersion.Current;
|
|
this.sourceVersion = DataRowVersion.Current;
|
|
|
InferSqlType (value);
|
|
InferSqlType (value);
|
|
|
}
|
|
}
|
|
@@ -75,15 +71,10 @@ namespace System.Data.SqlClient {
|
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
|
public SqlParameter (string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
|
|
public SqlParameter (string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
|
|
|
{
|
|
{
|
|
|
- SqlDbType = dbType;
|
|
|
|
|
- Size = size;
|
|
|
|
|
- Value = value;
|
|
|
|
|
|
|
+ metaParameter = new TdsMetaParameter (parameterName, size, isNullable, precision, scale, value);
|
|
|
|
|
|
|
|
- ParameterName = parameterName;
|
|
|
|
|
|
|
+ SqlDbType = dbType;
|
|
|
Direction = direction;
|
|
Direction = direction;
|
|
|
- IsNullable = isNullable;
|
|
|
|
|
- Precision = precision;
|
|
|
|
|
- Scale = scale;
|
|
|
|
|
SourceColumn = sourceColumn;
|
|
SourceColumn = sourceColumn;
|
|
|
SourceVersion = sourceVersion;
|
|
SourceVersion = sourceVersion;
|
|
|
}
|
|
}
|
|
@@ -93,33 +84,33 @@ namespace System.Data.SqlClient {
|
|
|
// This is in SqlCommand.DeriveParameters.
|
|
// This is in SqlCommand.DeriveParameters.
|
|
|
internal SqlParameter (object[] dbValues)
|
|
internal SqlParameter (object[] dbValues)
|
|
|
{
|
|
{
|
|
|
- precision = 0;
|
|
|
|
|
- scale = 0;
|
|
|
|
|
- direction = ParameterDirection.Input;
|
|
|
|
|
|
|
+ Precision = 0;
|
|
|
|
|
+ Scale = 0;
|
|
|
|
|
+ Direction = ParameterDirection.Input;
|
|
|
|
|
|
|
|
- parameterName = (string) dbValues[3];
|
|
|
|
|
|
|
+ ParameterName = (string) dbValues[3];
|
|
|
|
|
|
|
|
switch ((short) dbValues[5]) {
|
|
switch ((short) dbValues[5]) {
|
|
|
case 1:
|
|
case 1:
|
|
|
- direction = ParameterDirection.Input;
|
|
|
|
|
|
|
+ Direction = ParameterDirection.Input;
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- direction = ParameterDirection.Output;
|
|
|
|
|
|
|
+ Direction = ParameterDirection.Output;
|
|
|
break;
|
|
break;
|
|
|
case 3:
|
|
case 3:
|
|
|
- direction = ParameterDirection.InputOutput;
|
|
|
|
|
|
|
+ Direction = ParameterDirection.InputOutput;
|
|
|
break;
|
|
break;
|
|
|
case 4:
|
|
case 4:
|
|
|
- direction = ParameterDirection.ReturnValue;
|
|
|
|
|
|
|
+ Direction = ParameterDirection.ReturnValue;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- isNullable = (bool) dbValues[8];
|
|
|
|
|
|
|
+ IsNullable = (bool) dbValues[8];
|
|
|
|
|
|
|
|
if (dbValues[12] != null)
|
|
if (dbValues[12] != null)
|
|
|
- precision = (byte) ((short) dbValues[12]);
|
|
|
|
|
|
|
+ Precision = (byte) ((short) dbValues[12]);
|
|
|
if (dbValues[13] != null)
|
|
if (dbValues[13] != null)
|
|
|
- scale = (byte) ((short) dbValues[13]);
|
|
|
|
|
|
|
+ Scale = (byte) ((short) dbValues[13]);
|
|
|
|
|
|
|
|
SetDbTypeName ((string) dbValues[16]);
|
|
SetDbTypeName ((string) dbValues[16]);
|
|
|
}
|
|
}
|
|
@@ -153,12 +144,20 @@ namespace System.Data.SqlClient {
|
|
|
[DefaultValue (ParameterDirection.Input)]
|
|
[DefaultValue (ParameterDirection.Input)]
|
|
|
public ParameterDirection Direction {
|
|
public ParameterDirection Direction {
|
|
|
get { return direction; }
|
|
get { return direction; }
|
|
|
- set { direction = value; }
|
|
|
|
|
|
|
+ set {
|
|
|
|
|
+ direction = value;
|
|
|
|
|
+ if (direction == ParameterDirection.Output)
|
|
|
|
|
+ MetaParameter.Direction = TdsParameterDirection.Output;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ internal TdsMetaParameter MetaParameter {
|
|
|
|
|
+ get { return metaParameter; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
string IDataParameter.ParameterName {
|
|
string IDataParameter.ParameterName {
|
|
|
- get { return parameterName; }
|
|
|
|
|
- set { parameterName = value; }
|
|
|
|
|
|
|
+ get { return metaParameter.ParameterName; }
|
|
|
|
|
+ set { metaParameter.ParameterName = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[Browsable (false)]
|
|
[Browsable (false)]
|
|
@@ -167,8 +166,8 @@ namespace System.Data.SqlClient {
|
|
|
[DesignOnly (true)]
|
|
[DesignOnly (true)]
|
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
[EditorBrowsable (EditorBrowsableState.Advanced)]
|
|
|
public bool IsNullable {
|
|
public bool IsNullable {
|
|
|
- get { return isNullable; }
|
|
|
|
|
- set { isNullable = value; }
|
|
|
|
|
|
|
+ get { return metaParameter.IsNullable; }
|
|
|
|
|
+ set { metaParameter.IsNullable = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[Browsable (false)]
|
|
[Browsable (false)]
|
|
@@ -183,35 +182,32 @@ namespace System.Data.SqlClient {
|
|
|
[DataSysDescription ("Name of the parameter, like '@p1'")]
|
|
[DataSysDescription ("Name of the parameter, like '@p1'")]
|
|
|
[DefaultValue ("")]
|
|
[DefaultValue ("")]
|
|
|
public string ParameterName {
|
|
public string ParameterName {
|
|
|
- get { return parameterName; }
|
|
|
|
|
- set { parameterName = value; }
|
|
|
|
|
|
|
+ get { return metaParameter.ParameterName; }
|
|
|
|
|
+ set { metaParameter.ParameterName = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[DataCategory ("Data")]
|
|
[DataCategory ("Data")]
|
|
|
[DataSysDescription ("For decimal, numeric, varnumeric DBTypes.")]
|
|
[DataSysDescription ("For decimal, numeric, varnumeric DBTypes.")]
|
|
|
[DefaultValue (0)]
|
|
[DefaultValue (0)]
|
|
|
public byte Precision {
|
|
public byte Precision {
|
|
|
- get { return precision; }
|
|
|
|
|
- set { precision = value; }
|
|
|
|
|
|
|
+ get { return metaParameter.Precision; }
|
|
|
|
|
+ set { metaParameter.Precision = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[DataCategory ("Data")]
|
|
[DataCategory ("Data")]
|
|
|
[DataSysDescription ("For decimal, numeric, varnumeric DBTypes.")]
|
|
[DataSysDescription ("For decimal, numeric, varnumeric DBTypes.")]
|
|
|
[DefaultValue (0)]
|
|
[DefaultValue (0)]
|
|
|
public byte Scale {
|
|
public byte Scale {
|
|
|
- get { return scale; }
|
|
|
|
|
- set { scale = value; }
|
|
|
|
|
|
|
+ get { return metaParameter.Scale; }
|
|
|
|
|
+ set { metaParameter.Scale = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[DataCategory ("Data")]
|
|
[DataCategory ("Data")]
|
|
|
[DataSysDescription ("Size of variable length datatypes (strings & arrays).")]
|
|
[DataSysDescription ("Size of variable length datatypes (strings & arrays).")]
|
|
|
[DefaultValue (0)]
|
|
[DefaultValue (0)]
|
|
|
public int Size {
|
|
public int Size {
|
|
|
- get { return size; }
|
|
|
|
|
- set {
|
|
|
|
|
- size = value;
|
|
|
|
|
- isSizeSet = true;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ get { return metaParameter.Size; }
|
|
|
|
|
+ set { metaParameter.Size = value; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[DataCategory ("Data")]
|
|
[DataCategory ("Data")]
|
|
@@ -246,11 +242,11 @@ namespace System.Data.SqlClient {
|
|
|
[DataSysDescription ("Value of the parameter.")]
|
|
[DataSysDescription ("Value of the parameter.")]
|
|
|
[DefaultValue (null)]
|
|
[DefaultValue (null)]
|
|
|
public object Value {
|
|
public object Value {
|
|
|
- get { return objValue; }
|
|
|
|
|
|
|
+ get { return metaParameter.Value; }
|
|
|
set {
|
|
set {
|
|
|
if (!isTypeSet)
|
|
if (!isTypeSet)
|
|
|
InferSqlType (value);
|
|
InferSqlType (value);
|
|
|
- objValue = value;
|
|
|
|
|
|
|
+ metaParameter.Value = value;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -316,37 +312,6 @@ namespace System.Data.SqlClient {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- internal string Prepare (string name)
|
|
|
|
|
- {
|
|
|
|
|
- StringBuilder result = new StringBuilder ();
|
|
|
|
|
- result.Append (name);
|
|
|
|
|
- result.Append (" ");
|
|
|
|
|
- result.Append (typeName);
|
|
|
|
|
-
|
|
|
|
|
- switch (sqlDbType) {
|
|
|
|
|
- case SqlDbType.VarBinary :
|
|
|
|
|
- case SqlDbType.NVarChar :
|
|
|
|
|
- case SqlDbType.VarChar :
|
|
|
|
|
- if (!isSizeSet || size == 0)
|
|
|
|
|
- throw new InvalidOperationException ("All variable length parameters must have an explicitly set non-zero size.");
|
|
|
|
|
- result.Append (String.Format ("({0})", size));
|
|
|
|
|
- break;
|
|
|
|
|
- case SqlDbType.NChar :
|
|
|
|
|
- case SqlDbType.Char :
|
|
|
|
|
- case SqlDbType.Binary :
|
|
|
|
|
- if (size > 0)
|
|
|
|
|
- result.Append (String.Format ("({0})", size));
|
|
|
|
|
- break;
|
|
|
|
|
- case SqlDbType.Decimal :
|
|
|
|
|
- result.Append (String.Format ("({0},{1})", precision, scale));
|
|
|
|
|
- break;
|
|
|
|
|
- default:
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- return result.ToString ();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
// When the DbType is set, we also set the SqlDbType, as well as the SQL Server
|
|
// When the DbType is set, we also set the SqlDbType, as well as the SQL Server
|
|
|
// string representation of the type name. If the DbType is not convertible
|
|
// string representation of the type name. If the DbType is not convertible
|
|
|
// to an SqlDbType, throw an exception.
|
|
// to an SqlDbType, throw an exception.
|
|
@@ -356,76 +321,76 @@ namespace System.Data.SqlClient {
|
|
|
|
|
|
|
|
switch (type) {
|
|
switch (type) {
|
|
|
case DbType.AnsiString:
|
|
case DbType.AnsiString:
|
|
|
- typeName = "varchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "varchar";
|
|
|
sqlDbType = SqlDbType.VarChar;
|
|
sqlDbType = SqlDbType.VarChar;
|
|
|
break;
|
|
break;
|
|
|
case DbType.AnsiStringFixedLength:
|
|
case DbType.AnsiStringFixedLength:
|
|
|
- typeName = "char";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "char";
|
|
|
sqlDbType = SqlDbType.Char;
|
|
sqlDbType = SqlDbType.Char;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Binary:
|
|
case DbType.Binary:
|
|
|
- typeName = "varbinary";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "varbinary";
|
|
|
sqlDbType = SqlDbType.VarBinary;
|
|
sqlDbType = SqlDbType.VarBinary;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Boolean:
|
|
case DbType.Boolean:
|
|
|
- typeName = "bit";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "bit";
|
|
|
sqlDbType = SqlDbType.Bit;
|
|
sqlDbType = SqlDbType.Bit;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Byte:
|
|
case DbType.Byte:
|
|
|
- typeName = "tinyint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "tinyint";
|
|
|
sqlDbType = SqlDbType.TinyInt;
|
|
sqlDbType = SqlDbType.TinyInt;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Currency:
|
|
case DbType.Currency:
|
|
|
sqlDbType = SqlDbType.Money;
|
|
sqlDbType = SqlDbType.Money;
|
|
|
- typeName = "money";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "money";
|
|
|
break;
|
|
break;
|
|
|
case DbType.Date:
|
|
case DbType.Date:
|
|
|
case DbType.DateTime:
|
|
case DbType.DateTime:
|
|
|
- typeName = "datetime";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "datetime";
|
|
|
sqlDbType = SqlDbType.DateTime;
|
|
sqlDbType = SqlDbType.DateTime;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Decimal:
|
|
case DbType.Decimal:
|
|
|
- typeName = "decimal";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "decimal";
|
|
|
sqlDbType = SqlDbType.Decimal;
|
|
sqlDbType = SqlDbType.Decimal;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Double:
|
|
case DbType.Double:
|
|
|
- typeName = "float";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "float";
|
|
|
sqlDbType = SqlDbType.Float;
|
|
sqlDbType = SqlDbType.Float;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Guid:
|
|
case DbType.Guid:
|
|
|
- typeName = "uniqueidentifier";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "uniqueidentifier";
|
|
|
sqlDbType = SqlDbType.UniqueIdentifier;
|
|
sqlDbType = SqlDbType.UniqueIdentifier;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Int16:
|
|
case DbType.Int16:
|
|
|
- typeName = "smallint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "smallint";
|
|
|
sqlDbType = SqlDbType.SmallInt;
|
|
sqlDbType = SqlDbType.SmallInt;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Int32:
|
|
case DbType.Int32:
|
|
|
- typeName = "int";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "int";
|
|
|
sqlDbType = SqlDbType.Int;
|
|
sqlDbType = SqlDbType.Int;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Int64:
|
|
case DbType.Int64:
|
|
|
- typeName = "bigint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "bigint";
|
|
|
sqlDbType = SqlDbType.BigInt;
|
|
sqlDbType = SqlDbType.BigInt;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Object:
|
|
case DbType.Object:
|
|
|
- typeName = "sql_variant";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "sql_variant";
|
|
|
sqlDbType = SqlDbType.Variant;
|
|
sqlDbType = SqlDbType.Variant;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Single:
|
|
case DbType.Single:
|
|
|
- typeName = "real";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "real";
|
|
|
sqlDbType = SqlDbType.Real;
|
|
sqlDbType = SqlDbType.Real;
|
|
|
break;
|
|
break;
|
|
|
case DbType.String:
|
|
case DbType.String:
|
|
|
- typeName = "nvarchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "nvarchar";
|
|
|
sqlDbType = SqlDbType.NVarChar;
|
|
sqlDbType = SqlDbType.NVarChar;
|
|
|
break;
|
|
break;
|
|
|
case DbType.StringFixedLength:
|
|
case DbType.StringFixedLength:
|
|
|
- typeName = "nchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "nchar";
|
|
|
sqlDbType = SqlDbType.NChar;
|
|
sqlDbType = SqlDbType.NChar;
|
|
|
break;
|
|
break;
|
|
|
case DbType.Time:
|
|
case DbType.Time:
|
|
|
- typeName = "datetime";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "datetime";
|
|
|
sqlDbType = SqlDbType.DateTime;
|
|
sqlDbType = SqlDbType.DateTime;
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
@@ -522,99 +487,99 @@ namespace System.Data.SqlClient {
|
|
|
|
|
|
|
|
switch (type) {
|
|
switch (type) {
|
|
|
case SqlDbType.BigInt:
|
|
case SqlDbType.BigInt:
|
|
|
- typeName = "bigint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "bigint";
|
|
|
dbType = DbType.Int64;
|
|
dbType = DbType.Int64;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Binary:
|
|
case SqlDbType.Binary:
|
|
|
- typeName = "binary";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "binary";
|
|
|
dbType = DbType.Binary;
|
|
dbType = DbType.Binary;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Timestamp:
|
|
case SqlDbType.Timestamp:
|
|
|
- typeName = "timestamp";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "timestamp";
|
|
|
dbType = DbType.Binary;
|
|
dbType = DbType.Binary;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.VarBinary:
|
|
case SqlDbType.VarBinary:
|
|
|
- typeName = "varbinary";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "varbinary";
|
|
|
dbType = DbType.Binary;
|
|
dbType = DbType.Binary;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Bit:
|
|
case SqlDbType.Bit:
|
|
|
- typeName = "bit";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "bit";
|
|
|
dbType = DbType.Boolean;
|
|
dbType = DbType.Boolean;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Char:
|
|
case SqlDbType.Char:
|
|
|
- typeName = "char";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "char";
|
|
|
dbType = DbType.AnsiStringFixedLength;
|
|
dbType = DbType.AnsiStringFixedLength;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.DateTime:
|
|
case SqlDbType.DateTime:
|
|
|
- typeName = "datetime";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "datetime";
|
|
|
dbType = DbType.DateTime;
|
|
dbType = DbType.DateTime;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.SmallDateTime:
|
|
case SqlDbType.SmallDateTime:
|
|
|
- typeName = "smalldatetime";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "smalldatetime";
|
|
|
dbType = DbType.DateTime;
|
|
dbType = DbType.DateTime;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Decimal:
|
|
case SqlDbType.Decimal:
|
|
|
- typeName = "decimal";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "decimal";
|
|
|
dbType = DbType.Decimal;
|
|
dbType = DbType.Decimal;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Float:
|
|
case SqlDbType.Float:
|
|
|
- typeName = "float";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "float";
|
|
|
dbType = DbType.Double;
|
|
dbType = DbType.Double;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Image:
|
|
case SqlDbType.Image:
|
|
|
- typeName = "image";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "image";
|
|
|
dbType = DbType.Binary;
|
|
dbType = DbType.Binary;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Int:
|
|
case SqlDbType.Int:
|
|
|
- typeName = "int";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "int";
|
|
|
dbType = DbType.Int32;
|
|
dbType = DbType.Int32;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Money:
|
|
case SqlDbType.Money:
|
|
|
- typeName = "money";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "money";
|
|
|
dbType = DbType.Currency;
|
|
dbType = DbType.Currency;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.SmallMoney:
|
|
case SqlDbType.SmallMoney:
|
|
|
- typeName = "smallmoney";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "smallmoney";
|
|
|
dbType = DbType.Currency;
|
|
dbType = DbType.Currency;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.NChar:
|
|
case SqlDbType.NChar:
|
|
|
- typeName = "nchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "nchar";
|
|
|
dbType = DbType.StringFixedLength;
|
|
dbType = DbType.StringFixedLength;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.NText:
|
|
case SqlDbType.NText:
|
|
|
- typeName = "ntext";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "ntext";
|
|
|
dbType = DbType.String;
|
|
dbType = DbType.String;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.NVarChar:
|
|
case SqlDbType.NVarChar:
|
|
|
- typeName = "nvarchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "nvarchar";
|
|
|
dbType = DbType.String;
|
|
dbType = DbType.String;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Real:
|
|
case SqlDbType.Real:
|
|
|
- typeName = "real";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "real";
|
|
|
dbType = DbType.Single;
|
|
dbType = DbType.Single;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.SmallInt:
|
|
case SqlDbType.SmallInt:
|
|
|
- typeName = "smallint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "smallint";
|
|
|
dbType = DbType.Int16;
|
|
dbType = DbType.Int16;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Text:
|
|
case SqlDbType.Text:
|
|
|
- typeName = "text";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "text";
|
|
|
dbType = DbType.AnsiString;
|
|
dbType = DbType.AnsiString;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.VarChar:
|
|
case SqlDbType.VarChar:
|
|
|
- typeName = "varchar";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "varchar";
|
|
|
dbType = DbType.AnsiString;
|
|
dbType = DbType.AnsiString;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.TinyInt:
|
|
case SqlDbType.TinyInt:
|
|
|
- typeName = "tinyint";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "tinyint";
|
|
|
dbType = DbType.Byte;
|
|
dbType = DbType.Byte;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.UniqueIdentifier:
|
|
case SqlDbType.UniqueIdentifier:
|
|
|
- typeName = "uniqueidentifier";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "uniqueidentifier";
|
|
|
dbType = DbType.Guid;
|
|
dbType = DbType.Guid;
|
|
|
break;
|
|
break;
|
|
|
case SqlDbType.Variant:
|
|
case SqlDbType.Variant:
|
|
|
- typeName = "sql_variant";
|
|
|
|
|
|
|
+ MetaParameter.TypeName = "sql_variant";
|
|
|
dbType = DbType.Object;
|
|
dbType = DbType.Object;
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
@@ -625,7 +590,7 @@ namespace System.Data.SqlClient {
|
|
|
|
|
|
|
|
public override string ToString()
|
|
public override string ToString()
|
|
|
{
|
|
{
|
|
|
- return parameterName;
|
|
|
|
|
|
|
+ return ParameterName;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
#endregion // Methods
|
|
#endregion // Methods
|