2017-08-05 10 views
0

とPostgreSQLのデータベースから文字列を取得します。私は、MySQLとの変数の追加値のためにこれを使用しましたPostgreSQLデータベースから?にDataReaderの

答えて

1

あなたは、通常のGetStringが返されるレコードセット内の列の位置を表す整数を望んでいる

var var1 = datareader.GetString(reader.GetOrdinal("something")); 

でそれを得ることができます。しかし、任意の特定のプロバイダは、(MySQL用のプロバイダが行うように)直接文字列値から値を取得するためのGetStringを拡張することができますが、彼らはこの拡張機能を提供していない場合は、のでGetOrdinal

の使用を必要とするパターンを使用する必要がありますもちろん、自分でエクステンションを書くこともできます。ただ、静的クラスに

public static object GetString(this NpgsqlDataReader source, string colname) 
{ 
    if(string.IsNullOrEmpty(colname)) 
     throw ArgumentException("Need a column name"); 

    return source.GetString(source.GetOrdinal(colname)); 
} 

と今、GetStringメソッドを呼び出すためにあなたの方法を動作しますが、このメソッドを追加します。

関連する問題