前提・実現したいこと
Visual Basicで事務システムを作っています。
VB.NETでデータベースに接続成功しているのですが、
持ってきたデータを変数にしたいと思っています。
何卒宜しくお願い致します。
発生している問題・エラーメッセージ
持ってきたデータをデータ型にしようと思い、
Dim X As Integer
としたのですが、
『型'DataTable'の値を型'Integer'に変換できません。』とエラーメッセージが表示されました。
Dim X As Integer
該当のソースコード
Private Sub BBCData() Dim stbSql As New System.Test.StringBuider Dim X As Integer Me.BindingSource.DataSource = Nothing stbSql = New System.Text.StringBuilder stbSql.AppendLine("SELECT *") stbSql.AppendLine("FROM ABC100") X = BBC(stbSql.ToString,"テスト") 'BBCの中身は以下です。' Private Function BBCData(ByVal istrSQL As String) As DataTable Utility.ZDb.SqlCreateCommand() Return Utility.ZDb.SqlFill(istrSQL) End Function
補足情報(FW/ツールのバージョンなど)
質問者さんの前のスレッド https://teratail.com/questions/195396 の問題は解決したのですか? 放置状態ですけど、それが解決できてないようですと、「SQL文で持ってきたデータ」とかありますが、持ってこれないと思いますけど。
BBC とか Utility とか定義不明なものを多々使っていますけど、それは何なのですか? たぶん、サードパーティ製(or 自作?)のライブラリを使っているのではないかと想像してますが、そうだとすると第三者には分からないと思いませんか?
ご指摘ありがとうございます。
まだデータの取り出し方に関しては勉強中でございます。
分かりづらくて申し訳ございません。
> まだデータの取り出し方に関しては勉強中でございます。
それでは話ができないと思うのですが・・・
何にせよ前のスレッドの話の続きですよね? で、前のスレッドでの課題の表示する以前の問題として DB サーバーからデータを取得するに至ってないので、ここでその質問をしたと理解してますが違いますか?
前のスレッドと関連しているところではあるのですが、
DBサーバーからデータを取得するところまでは出来ております。
ただ、DataGridにどう表示させるのかということに悩んでおります。
前のスレッドの話の一環ということでしたら、進む方向が間違っている(とまでは言えなくても、適当ではない)と思いますよ。前のスレッドに戻って、pivot の利用を考えてはいかが?
分からないことが多くてすみません。
前のスレッドに戻って、pivotの利用とはどういうことなのでしょうか?
DB のテーブル ABC100 そのままの形で取得して作った DataTable を VB.NET のコードで細工して前のスレッドの形にするより、SQL Server の PIVOT の機能を使って、前のスレッドに書いてあった最終的に求める形でデータを取得して表示するということです。
前のスレッドに書いてあった 3 列 3 行程度の小さなテーブルであれば話は別で、PIVOT を使う必要はなくて VB.NET のコードで細工した方が簡単かつ早いかもしれませんが。
でも、たぶん、実際はそうではなくて、もっと大きな、何百何千行のデータを対象としている(今はそうでなくてもこの先考えることになる)と想像してます。そうであれば PIVOT の利用を考えてみてください。
ご丁寧にありがとうございます。
SQL ServerのPIVOTの利用をしたことが無かったので、勉強したいと思います。
色々とありがとうございます。
回答1件
あなたの回答
tips
プレビュー