[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 メーリングリストの案内