- - PR -
ListViewにSqlCommandの結果を表示したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-09-13 18:48
ListViewはDataDridViewのようにデータを表示できるそうですが、
'接続情報 Dim cn As New SqlConnection cn.ConnectionString = "Data Source = xxx;" & _ "Database = xxxDB;" & _ "Integrated Security = SSPI;" '選択コマンド Dim cmd As New SqlCommand cmd.Connection = cn cmd.CommandText = "SELECT 品名コード,品名 FROM 品名マスタ" '接続 cn.Open() 'データ取得 Dim dreader As SqlDataReader dreader = cmd.ExecuteReader() ListView1.View = View.Details '切断 cn.Close() このようにしているのですが(ListView1はプロパティでカラムヘッダー名「品名コード」と「品名」を追加しています) SqlDataReaderからListView1へのデータの渡し方がわかりません。 どうやってデータを渡せばよいのでしょうか? | ||||
|
投稿日時: 2007-09-13 19:06
書いたことを、声に出して読んでみて欲しい。息が切れる。
読んでもらえないと答えは得られない。それはわかりますか?ぜひ、読んでもらうための努力をしてください。 本題 DataReaderから直接放り込むことは、多分できません。 適当なクラスと、そのコレクションを作り、コレクションに書き出します。出来上がったコレクションをListView.DataSourceに設定すれば出来上がり。 | ||||
|
投稿日時: 2007-09-13 19:11
ListView に DataSource はないです。 一行ずつ ListViewItem を作って Items に入れていく必要があります。 | ||||
|
投稿日時: 2007-09-14 18:41
Jittaさん、ひとりよがりの文章で申し訳ありませんでした。
最初はリストボックスの複数列表示を考えていたのですが、 https://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1063453&SiteID=7 上記のフォーラムを参考にしたところ、ListViewとDatareaderを使ってデータベースからデータを取得することができるみたいですので DatareaderからSQL文を読み込んで表示させるのかな、と思っていました。 (ListViewにはListBoxの様にDataSource や DisplayMemberはないみたいなので。) Hongliangさん 'データ取得 Dim dreader As SqlDataReader dreader = cmd.ExecuteReader() Dim item1() As String = {dreader} ListView1.Items.Add(New ListViewItem(item1)) ListView1.View = View.Details Items に入れていく必要があるとのことで、このようにしてみましたが エラーで「SqlDataReaderの値はStringに変換できませんでした」 となりました。 DataReaderの値をStringに変換できることは可能なのでしょうか? それともStringではなく別のプロパティを使用するのですか? | ||||
|
投稿日時: 2007-09-14 18:52
SqlDataReader はデータそのものではなく、 名前の通り、SQLの結果を読みこむための道具にすぎません。 以下のURLが参考になると思います。 DataReader によるデータの取得 | ||||
|
投稿日時: 2007-09-14 19:10
素朴な疑問なんですが、どうして DataGridView を使うのでは駄目なんですか?
|
1