[pgsql-jp: 41707] Re: PostgresqlとNpgsqlとのデータ型対応について

Tomonari Katsumata katsumata.tomonari @ po.ntts.co.jp
2014年 8月 20日 (水) 18:17:28 JST


味噌さん

勝俣と申します。
初めまして。

試したことないですが、本家マニュアルを見ると
以下の例が載ってました。
#「Working with Arrays」のところ。

command.Parameters.Add(new NpgsqlParameter("arrayParam",
NpgsqlDbType.Array | NpgsqlDbType.Int32));
http://npgsql.projects.pgfoundry.org/docs/manual/UserManual.html

dbtypeのところをor(|)でつなぐようです。


ご確認ください。


(2014/08/20 17:17), oira3ryu wrote:
> こんにちは、味噌と申します。
> Postgresql 9.3.4 と Npgsql 2.0.14.3 でVisual Studio 2010 を使い
> WindowsFormアプリケーションを作成しています。
>
> Postgresql のテーブルAにtext[] 型の配列を格納しております
> 構成はこのようなもので
> テーブルA
> id serial not null
> c4_array text[]
>
> 中身はこのような状態のものに
> id | c4_array 
> ------------------
> 1,{H26," 7"}
>
> 試にデータアダプタで更新をかけようとしたのですが
> da.UpdateCommand = new NpgsqlCommand(
> "update テーブルA set"
>  + " c4_array = :c4_array"
>  + " where id=:id;"
>  , m_conn
>  );
> da.UpdateCommand.Parameters.Add(new NpgsqlParameter("c4_array", NpgsqlTypes.NpgsqlDbType.Text, 0, "c4_array", ParameterDirection.Input, false, 0, 0, DataRowVersion.Current, DBNull.Value));
>
> NpgsqlTypes.NpgsqlDbTypeの部分で
> 「column A is of type text[]  expression but is of type text.」とエラーになってしまいます。
> text[]型とtext型なのでエラーになるのはわかりますが
> このような場合、NpgsqlTypes.NpgsqlDbTypeでどの型が対応するのでしょうか?
> http://www.postgresql.jp/document/NPGSQL/manual/UserManual_J.htm を参照してみましたが
> 対応する型が見つけられませんでした。
>
> どなたかご指導よろしくお願いします。
>


-- 
--------------------------------------------
NTT Software Corporation
  Cloud Computing Business Department
  Tomonari Katsumata
TEL:045-212-7665
FAX:045-662-7856
E-Mail: katsumata.tomonari @ po.ntts.co.jp
--------------------------------------------




pgsql-jp メーリングリストの案内