- PR -

ListViewにSqlCommandの結果を表示したい

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2007/04/09
投稿数: 21
投稿日時: 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へのデータの渡し方がわかりません。
どうやってデータを渡せばよいのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-09-13 19:06
書いたことを、声に出して読んでみて欲しい。息が切れる。
読んでもらえないと答えは得られない。それはわかりますか?ぜひ、読んでもらうための努力をしてください。


本題


DataReaderから直接放り込むことは、多分できません。
適当なクラスと、そのコレクションを作り、コレクションに書き出します。出来上がったコレクションをListView.DataSourceに設定すれば出来上がり。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-09-13 19:11
引用:

適当なクラスと、そのコレクションを作り、コレクションに書き出します。出来上がったコレクションをListView.DataSourceに設定すれば出来上がり。



ListView に DataSource はないです。
一行ずつ ListViewItem を作って Items に入れていく必要があります。
未記入
常連さん
会議室デビュー日: 2007/04/09
投稿数: 21
投稿日時: 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ではなく別のプロパティを使用するのですか?

KI
大ベテラン
会議室デビュー日: 2007/01/10
投稿数: 239
投稿日時: 2007-09-14 18:52
引用:

Items に入れていく必要があるとのことで、このようにしてみましたが
エラーで「SqlDataReaderの値はStringに変換できませんでした」
となりました。


SqlDataReader はデータそのものではなく、
名前の通り、SQLの結果を読みこむための道具にすぎません。
以下のURLが参考になると思います。

DataReader によるデータの取得
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-09-14 19:10
素朴な疑問なんですが、どうして DataGridView を使うのでは駄目なんですか?
1

スキルアップ/キャリアアップ(JOB@IT)