OdbcParameter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 OdbcCommand 的参数,还可以表示它到 DataColumn 的映射。 此类不能被继承。
public ref class OdbcParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))]
public sealed class OdbcParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))]
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
type OdbcParameter = class
inherit DbParameter
interface IDataParameter
interface IDbDataParameter
interface ICloneable
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDataParameter
interface IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))>]
type OdbcParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))>]
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OdbcParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OdbcParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
- 继承
- 继承
- 继承
- 属性
- 实现
示例
以下示例通过 OdbcParameterCollection 中的 OdbcDataAdapter创建的多个实例OdbcParameter。 这些参数用于从数据源中选择数据,并将数据置于 中 DataSet。 此示例假定 DataSet 已使用适当的架构、命令和连接创建了 和 OdbcDataAdapter 。
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OdbcType.Int).Value = 239;
// Open the connection and fill the DataSet.
try
{
connection.Open();
adapter.Fill(dataSet);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
return dataSet;
}
Public Function GetDataSetFromAdapter( _
ByVal dataSet As DataSet, ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New OdbcConnection(connectionString)
Dim adapter As New OdbcDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OdbcType.Int).Value = 239
' Open the connection and fill the DataSet.
Try
connection.Open()
adapter.Fill(dataSet)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
Return dataSet
End Function
注解
参数名称不区分大小写。
使用 Oracle 的 Microsoft OLE DB 提供程序 (MSDAORA) 和 ODBC .NET Framework 数据提供程序查询 Oracle 数据库时,使用 LIKE
子句查询固定长度字段中的值可能不会返回所有预期的匹配项。 原因是,当 Oracle 匹配 子句中 LIKE
固定长度字段的值时,它将匹配字符串的整个长度,包括任何填充尾随空格。 例如,如果 Oracle 数据库中的表包含定义为 char(3)
的名为“Field1”的字段,并且您在该表的一行中输入值“a”,则以下代码不会返回该行。
Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"
Dim reader As OleDbDataReader = command.ExecuteReader()
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?";
OleDbCommand command = new OleDbCommand(queryString, connection);
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";
OleDbDataReader reader = command.ExecuteReader();
这是因为 Oracle 将列值存储为“a” (填充“a”(带有尾随空格)的固定字段长度为 3) ,在比较固定长度字段时 LIKE
,Oracle 不会将其视为“a”参数值的匹配项。
若要解决此问题,请将百分比 (“%”) 通配符追加到参数值 ("a%"
) ,或者改用 SQL =
比较。
构造函数
OdbcParameter() |
初始化 OdbcParameter 类的新实例。 |
OdbcParameter(String, Object) |
初始化使用参数名称和 OdbcParameter 对象的 OdbcParameter 类的新实例。 |
OdbcParameter(String, OdbcType) |
初始化使用参数名称和数据类型的 OdbcParameter 类的新实例。 |
OdbcParameter(String, OdbcType, Int32) |
初始化使用参数名称、数据类型和长度的 OdbcParameter 类的新实例。 |
OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
初始化 OdbcParameter 类的新实例,该类使用参数名称、数据类型、长度、源列名、参数方向、数值精度和其他属性。 |
OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
初始化 OdbcParameter 类的新实例,该类使用参数名称、数据类型、长度、源列名、参数方向、数值精度和其他属性。 |
OdbcParameter(String, OdbcType, Int32, String) |
初始化使用参数名称、数据类型、长度和源列名称的 OdbcParameter 类的新实例。 |
属性
DbType |
获取或设置参数的 DbType。 |
Direction |
获取或设置一个值,该值指示参数是只可输入的参数、只可输出的参数、双向参数还是存储过程返回值参数。 |
IsNullable |
获取或设置一个值,该值指示参数是否接受 null 值。 |
OdbcType |
获取或设置参数的 OdbcType。 |
Offset |
表示 OdbcCommand 的参数,还可以表示它到 DataColumn 的映射。 此类不能被继承。 |
ParameterName |
获取或设置 OdbcParameter 的名称。 |
Precision |
获取或设置用来表示 Value 属性的最大位数。 |
Scale |
获取或设置所解析的 Value 的小数位数。 |
Size |
获取或设置列内数据的最大大小。 |
SourceColumn | |
SourceColumnNullMapping |
获取或设置一个值,该值指示源列是否可以为 null。 这使 DbCommandBuilder 能够正确地为可为 null 的列生成 Update 语句。 |
SourceVersion |
获取或设置在加载 DataRowVersion 时使用的 Value。 |
Value |
获取或设置参数的值。 |
方法
CreateObjRef(Type) |
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject) |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetLifetimeService() |
已过时.
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
InitializeLifetimeService() |
已过时.
获取生存期服务对象来控制此实例的生存期策略。 (继承自 MarshalByRefObject) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
MemberwiseClone(Boolean) |
创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject) |
ResetDbType() |
重置与此 OdbcParameter 关联的类型。 |
ResetOdbcType() |
重置与此 OdbcParameter 关联的类型。 |
ToString() |
获取一个包含 ParameterName 的字符串。 |
显式接口实现
ICloneable.Clone() |
有关此成员的说明,请参见 Clone()。 |
IDbDataParameter.Precision |
指示数值参数的精度。 (继承自 DbParameter) |
IDbDataParameter.Scale |
有关此成员的说明,请参见 Scale。 (继承自 DbParameter) |