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

oira3ryu oira3ryu @ sea.plala.or.jp
2014年 8月 20日 (水) 20:32:59 JST


勝俣様、こちらこそ初めまして。

早速ですが、
私が参考にしていたのは
http://www.postgresql.jp/document/NPGSQL/manual/UserManual_J.htm で

勝俣様に教えていただいたのは
http://npgsql.projects.pgfoundry.org/docs/manual/UserManual.html ですが

私が勝手に参照していたドキュメントが本家の和訳なのだと思い込んで参考にしていましたが
勝俣様に教えていただいた本家マニュアルと内容が違っていたのですね。(古い?)

ご指導いただいたとおりに
NpgsqlTypes.NpgsqlDbType.Array | NpgsqlTypes.NpgsqlDbType.Text
と、することで正常に更新出来ることを確認いたしました。

ありがとうございました。
                   味噌

---- Tomonari Katsumata <katsumata.tomonari @ po.ntts.co.jp> さんは書きました: 
> 味噌さん
> 
> 勝俣と申します。
> 初めまして。
> 
> 試したことないですが、本家マニュアルを見ると
> 以下の例が載ってました。
> #「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 メーリングリストの案内