DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NETでデータグリッドを使うには

環境/言語:[WindowsXP]
分類:[.NET]

はじめまして、宜しくお願いします。

VB.NET+Oracle9iを使っています。
初めは下記のようにテキストボックスに表示をしていましたが、
DataGridを使ってSelectされた全ての結果を表示したいと考えていますが
どういう手順でコードを記入したらいいのか分かりません。
どうか、教えてください!
Dim cn As New OracleConnection(myConnString)
Dim sql As String
sql = "select * from MOVE"
Dim cmd As New OracleCommand(sql, cn)
cn.Open()
Dim dr As OracleDataReader = cmd.ExecuteReader()
dr.Read()
TextBox1.Text = dr.Item("M_ID")
TextBox2.Text = dr.Item("M_TITLE")
TextBox3.Text = dr.Item("M_KOUKAI")
dr.Read()

TextBox4.Text = dr.Item("M_ID")
きいぼーです。
今手元に環境が無いので、
簡単にヒントだけとなってしまいますが、

1.OleDbDataAdapterを生成します。
2.Dataset を生成します。
3.OleDbDataAdapterのFillメソッドを使ってDataset又はDatatableに
  データを取得します。
4.DataGridのDataSourceにDataset又はDataTableを割り当てます。

以上の手順でGridにデータが表示されます。
きいぼーさま!返信ありがとうございます!
教えていただいた手順でやってみたら結果が表示されました!!!
本当にうれしいです。こんな感じで書きました。

Dim cn As New OracleConnection(myConnString)
Dim sql As String
sql = "select * from MOVE order by M_ID"
Dim ds As New DataSet
Dim ad As New OracleDataAdapter(sql, cn)
ad.Fill(ds, "Move")
cn.Open()
DataGrid1.DataSource = ds
cn.Close()

表示されたのですが、間違った所(書き方)とかあるのでしょうか・・・
表示に感動して舞い上がり中です。
きいぼーです

> Dim cn As New OracleConnection(myConnString)
> Dim sql As String
> sql = "select * from MOVE order by M_ID"
> Dim ds As New DataSet
> Dim ad As New OracleDataAdapter(sql, cn)
> ad.Fill(ds, "Move")
> cn.Open()
> DataGrid1.DataSource = ds
> cn.Close()
ad.Fill(ds, "Move")の後でcn.Open ・・・・ cn.Close
されていますが、
ad.Fillを実行したときに、内部でDBへの接続が行われていますので、
cn.Open ・・・・ cn.Closeは不要です。
FillのHELPにかかれています。
きいぼーさま、ご指導ありがとうございます。
早速、Open−Closeの部分は削除しました。
Fillの使い方やDataGridなど、使う前に
ヘルプを一度確認しなくてはいけないんですね!
深く勉強しなくては・・・道のりは長いですね。

本当にありがとうございました!!
解決マークを忘れてました。
解決済み!
■No4194のばか娘さんの質問の回答どおりにやればデータグリッドはできるんですが、同様の操作をGrapecityのFrexGridだとうまく表示できません。データグリッドと同じ書き方じゃいけないんですかね?もし、どなたかご存知のかたいらっしゃいましたらご教授ください。

よろしくお願いいたします。
>GrapecityのFrexGrid
以前、GrapecityのFrexGrid for .NETの評価版をインストールしたことがあり、
ヘルプがインストールされたまま残っていたので見てみたら、DataSourceプロパティの説明で
次のようなサンプルコードが載っていました。
Dim ds As DataSet = New DataSet()
da.Fill(ds)
flex.DataSource = ds.Tables(0)

# あと、このトピックは一度質問者が解決マークをつけているので、
# そのような場合は、内容が関連しているようでも、別途新規に
# トピックを作った方がいいと思われます。
■No4267に返信(NowhereManさんの記事)
> >GrapecityのFrexGrid
> 以前、GrapecityのFrexGrid for .NETの評価版をインストールしたことがあり、
> ヘルプがインストールされたまま残っていたので見てみたら、DataSourceプロパティの説明で
> 次のようなサンプルコードが載っていました。
> Dim ds As DataSet = New DataSet()
> da.Fill(ds)
> flex.DataSource = ds.Tables(0)

ありがとうございます!できました!
.Tables(0)
が必要なんですね


>
> # あと、このトピックは一度質問者が解決マークをつけているので、
> # そのような場合は、内容が関連しているようでも、別途新規に
> # トピックを作った方がいいと思われます。

すみません。以後気をつけます。m(_ _)m
■No4280に返信(戸田さんの記事)
> ■No4267に返信(NowhereManさんの記事)
>>>GrapecityのFrexGrid
>>以前、GrapecityのFrexGrid for .NETの評価版をインストールしたことがあり、
>>ヘルプがインストールされたまま残っていたので見てみたら、DataSourceプロパティの説明で
>>次のようなサンプルコードが載っていました。
>>Dim ds As DataSet = New DataSet()
>>da.Fill(ds)
>>flex.DataSource = ds.Tables(0)
>
> ありがとうございます!できました!
> .Tables(0)
> が必要なんですね
>
>
>>
>># あと、このトピックは一度質問者が解決マークをつけているので、
>># そのような場合は、内容が関連しているようでも、別途新規に
>># トピックを作った方がいいと思われます。
>
> すみません。以後気をつけます。m(_ _)m
>
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板