C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 36 を表示中)
■18261 / )  Re[6]: spreadへのデータ表示について
□投稿者/ VB初心者 (5回)-(2008/05/12(Mon) 14:23:59)
2008/05/12(Mon) 14:26:28 編集(投稿者)
2008/05/12(Mon) 14:25:36 編集(投稿者)

No18259 (はつね さん) に返信
はつねさん返信ありがとうございます。
説明不足ですいません。

フィールド名しか表示できないというのは、selectしたフィールドにエイリアスをつけて
フィールド名としています。
そのエイリアスがスプレッドのヘッダに表示されます。
select A as テスト from 取得したいテーブル
の「テスト」がヘッダに表示されるだけで、データが表示できない状態です。
期待することは、フィールド名の下にそれぞれのデータが表示されることです。
説明がへたくそですいません。


> また、Call proc_sqlCmndCnn実行直後のdataset変数の内容はaaaaaaaテーブルが1つだけあって、そのテーブルにはデータが設定されている(つまりレコードがある)状態なんですよね。
datasetのRows.count()で件数が取得できているので、データは設定されていると思うのですが…。

> そして、そのdatasetの内容はテーブル数やレコード数、テーブル名なども含めてdataAda.Fill(obTable)を実行したときと同じなのですよね。
>
> ちょっと確認
> |obTable = New DataTable
> |dataAda.Fill(obTable)
> |スプレッド.DataSource = dataset
> としていますが、これって
> |obTable = New DataTable
> |dataAda.Fill(obTable)
> |スプレッド.DataSource = obTable
> としているなんて事はないですか?
すいません間違えました。
以下のようにするとうまくいきます。
|obTable = New DataTable
|dataAda.Fill(obTable)
|スプレッド.DataSource = obTable
質問に書いた内容が間違ってました。すいません。

> また、次の事を確認したという事ですが、
> |スプレッド.DataSource = dataset
> |スプレッド.DataMember= "表示するテーブル名"
> テーブルがaaaaaaaということは次のようにして確認してダメだったんですよね?
> |スプレッド.DataSource = dataset
> |スプレッド.DataMember= "aaaaaaa"
はい、上記のように確認したのですが、ダメでした。

ちょっとわからないのですが、なぜ以下のようにするとうまくいくのかがわからないです。
Private Sub データ表示関数()
Dim dataset As New DataSet
Dim cmnd As New SqlCommand
Dim dataAda As New SqlDataAdapter
Dim SQL As String
Dim obTable As DataTable

    SQL = "select A as テスト from 取得したいテーブル"

'コマンド生成
cmnd = New SqlCommand
Call proc_sqlCmndCnn(SQL, cmnd, dataAda, dataset, "aaaaaa") ←SQL実行用の共通関数(この関数内で接続処理、datasetに対してFillメソッド等が行われています)

obTable = New DataTable
dataAda.Fill(obTable)

      スプレッド.DataSource = obTable

すいませんが、よろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -