- ベストアンサー
VB2005 DataGrdViewで、SQL文記述
VB6からVB2005に切り替える作業をしています。 DataGridViewにMDBファイルの中身を表示させることは出来ました。 DataSet,BindingSourceを用いています。 コードの記述で、SQLの文章を変更させたいのです。 WHERE文の記述を変えたりしたいのですが。 DataSourceにSQL文を記入することが出来ません。 DataSourceには記述できないのでしょうか? それとも、根本的に間違っているのでしょうか。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
やりたい事は大体わかります。 データグリッドに表示するテーブルやクエリをコードでコントロール したいという事ですよね。 vbのoledb関連のサンプルを片っ端から探して試すしかないです。 Private Sub Test(ByVal TbName As String) Try cmd = New OleDbCommand() cmd.Connection = cn cmd.CommandText = "SELECT * FROM " & TbName cmd.CommandType = CommandType.Text cn.Open() myReader = cmd.ExecuteReader Catch ex As System.Exception MsgBox(ex.Message) Exit Sub Finally cn.Close() End Try End Sub こんな感じで、与えるデータセットのコマンドオブジェクトを いじれば良いと思います。
その他の回答 (3)
- ape5
- ベストアンサー率57% (85/148)
================================================================ 'DSはDataSetであり、既にDataGridViewにセットされているもの。 'strDataはWhere句のカラム名="xxxxxxxx"の"xxxxxxxx"です。 Dim strData as string = "xxxxxxxx" Dim dv1 As DataView = New DataView(DS.Tables("テーブル名"), "", "カラム名", DataViewRowState.CurrentRows) dv1.RowFilter = "カラム名 = '" & strData & "'" DataGrid1.DataSource = dv1 ================================================================ 当方の環境は OS:XP-SP2 VB.NET2002 なので、DataGridViewは使用できませんが、基本的に同じやり方でできるかと思われます。
- ape5
- ベストアンサー率57% (85/148)
WHERE句を変えたりしたいとありますが、やりたいのは 1.違うSELECT文 2.UPDATE文 3.INSERT文 4.DELETE文 のいずれでしょうか?
補足
ありがとうございます。 同じテーブルの参照で、 異なるSELECT文です。 WHERE 文のみ変更をして、指定した条件で 出力したいのです。 よろしくお願いいたします。
- unamana19
- ベストアンサー率62% (56/89)
>DataGridViewにMDBファイルの中身を表示させることは出来ました。 とありますが、データソース追加ウイザードで追加されたデータソース をフォームにドラッグドロップして実現されましたか?
補足
ありがとうございます。 データベースエクスプローラで、接続を作成して DataGridViewをツールボックスからフォームに貼り付けて データソースの選択から、もってきました。 データベースエクスプローラはテーブルを選択しました。
補足
ありがとうございます。 やはり、このやり方がよさそうですね。 SQLを直接記述するほうがプログラムしている感じが します。