- - PR -
新規作成したテーブルにデータをFillしたい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-11 23:15
再びお世話になります。
動作環境 Win2000,Oracle10g,VS.NET2002(VB.NET) やりたいこと 自作したテーブルに、ODPを使ってOracleのストアドプロシージャを実行し戻り値(複数行)をデータテーブルに格納したい。 関係していると思われる部分のコードを記載します。 'データセット作成 Dim dsTest As New DataSet Private dtTest As DataTable = dsTest.Tables.Add("dtTest") 'データテーブルへカラムを追加 Dim colId As DataColumn = dtTest.Columns.Add("ID", GetType(String)) Dim colName As DataColumn = dtTest.Columns.Add("氏名", GetType(String)) 'コマンドを定義 Dim cmdTest As New OracleCommand("package.procedure", conn) 'コマンドタイプを宣言 cmdTest.CommandType = CommandType.StoredProcedure 'データアダプタを作成 Dim daTest As New OracleDataAdapter(cmdTest) 'データセットにデータを格納 daTest.FillSchema(dsTest, SchemaType.Mapped, "dtTest") daTest.Fill(dsTest, "dtTest") OracleDataReaderを使ってデータを取得してみましたが、DBNullで例外が発生して対応が必要になりFillでやっています。 msdnを参考にコーディングしているのですが、どうしても自作したカラムの後にデータ列が作成され、自作したカラムにデータが入りません。 どうぞよろしくお願いします。 | ||||
|
投稿日時: 2005-09-12 09:01
こんにちは、じゃんぬ です。
これがどういうことなのか、わからないのですが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-09-12 11:58
マッピングかな〜?
SchemaTypeをSourceにしてみるとかっ | ||||
|
投稿日時: 2005-09-12 14:12
SchemaType.Mappedを使用すると、TableMapingsが適用されますが、この設定はありますでしょうか? もしなければ、列が追加されると思います。
| ||||
|
投稿日時: 2005-09-15 23:40
皆さん返信ありがとうございます。
結局の所考えていたのと違う方法で行うことにしました。 え〜っと、やりたかったことはマッピングに当たると思います。 trapemiyaさんがご指摘のとおりTableMapingsを設定していませんでした。 じゃんぬねっとさん、説明不足ですいません。 >OracleDataReaderを使ってデータを取得してみましたが、 >DBNullで例外が発生して対応が必要になりFillでやっています。 は Dim odr As OracleDataReader odr = cmd.ExecuteReader odr.GetString(0) こんな感じにしたときにNull対策をしていなかったのです。 |
1