OdbcParameter クラスとは? わかりやすく解説

OdbcParameter クラス

OdbcCommand のパラメータと、オプションとして DataColumn に対すマップ表します。このクラス継承できません。

名前空間: System.Data.Odbc
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public NotInheritable Class
 OdbcParameter
    Inherits DbParameter
    Implements ICloneable, IDbDataParameter, IDataParameter
Dim instance As OdbcParameter
public sealed class OdbcParameter : DbParameter,
 ICloneable, IDbDataParameter, IDataParameter
public ref class OdbcParameter sealed : public
 DbParameter, ICloneable, IDbDataParameter, IDataParameter
public final class OdbcParameter extends DbParameter
 implements ICloneable, IDbDataParameter, 
    IDataParameter
public final class OdbcParameter extends
 DbParameter implements ICloneable, IDbDataParameter, 
    IDataParameter
解説解説

パラメータ名では大文字と小文字区別されません。

Microsoft OLE DB Provider for Oracle (MSDAORA) と ODBC .NET Framework データ プロバイダ使用して Oracle データベース対すクエリ実行する場合LIKE 句を使用して固定長フィールドの値を問い合わせると、期待される一致したデータがすべて返されないことがあります。これは、Oracle によって LIKE 句の固定長フィールドの値との比較が行われるときに、末尾空白含めて文字列全長わたって比較が行われるからです。たとえば、Oracle データベーステーブルchar(3) として定義されている Field1 という名前のフィールド存在し、そのテーブルの行の 1 つに "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 では、3 の固定長合わせるために "a" に続けて空白埋めて、列値を "a " として格納しているからです。Oracle は、固定長フィールドLIKE 比較において、これをパラメータ値 "a" と一致しているとは見なしません。

この問題解決するには、パーセント ("%") ワイルドカード文字パラメータ値 ("a%") に追加するか、または代わりに SQL = 比較使用します

使用例使用例

OdbcDataAdapter の OdbcParameterCollection を使用してOdbcParameter複数インスタンス作成する例を次に示します。これらのパラメータは、データ ソースからのデータ選択と、DataSet でのデータ配置使用されます。この例は、DataSet および OdbcDataAdapter が、正しスキーマコマンド、および接続で既に作成されていることを前提にしています。

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
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;
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.Data.Common.DbParameter
      System.Data.Odbc.OdbcParameter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OdbcParameter クラス」の関連用語

OdbcParameter クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OdbcParameter クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS