■ 実行結果を表示したい。

[Visual Basic 初心者掲示板] [過去ログの一覧]


ぽしゃった 2008/01/10(木) 18:28:01 <初心者>
この掲示板でVisual BasicからMySQLの接続の仕方をレクチャーしていただき、
テーブルの作成、削除、追加等々の操作を出来るようにはなったのですが、
問い合わせをした結果をラベルやリストボックスなどに表示するようにしたいのですが、どのようにすればよいのでしょうか。

−−−−−−−−−−−−−−−
 Private Sub Command1_click()
  Dim cn As Variant
  Dim sql As String
'** ODBC 接続
  Set cn = CreateObject("ADODB.Connection")
  cn.Open "dsn=***;uid=***;pwd=****"
  cn.CursorLocation = 3
'** データ問い合わせ
  sql = "select * from test;"
  cn.Execute sql
  Label.Caption = sql     ←ここで表示させようとしたのですが…。
'** ODBC 接続解除
  cn.Close
  End Sub

−−−−−−−−−−−
これじゃSQL文が表示されるだけだろうと、思ったのですが案の定でした。

cn.Executeのように何か
実行結果を表示するようなものがあるのでしょうか?

また、初歩的な質問で申し訳ありません。

魔界の仮面弁士 2008/01/10(木) 21:00:52 <常連>
「Recordset オブジェクト」について調べてみると、道が開けるかと。

貴公子@通りすがり 2008/01/11(金) 08:55:39
  sql = "select * from test;"
  Set rst = cn.Execute(sql, , adCmdText)
  Label.Caption = rst

これでだめ?

ぽしゃった 2008/01/11(金) 15:26:09 <初心者>
ご返答ありがとうございます。
早速試してみましたが、

−−−−−−−−−−−−−−−−−−−−−−−−− 
Private Sub Command1_click()
  Dim cn As Variant
  Dim sql As String
  Dim rst As New ADODB.Recordset
  
'** ODBC 接続
  Set cn = CreateObject("ADODB.Connection")
  cn.Open "dsn=***;uid=***;pwd=***"
  cn.CursorLocation = 3
'** データ問い合わせ
  sql = "select * from test;"
  Set rst = cn.Execute(sql, , adCmdText)
  Label.Caption = rst                        ←この行です。
'** ODBC 接続解除
  cn.Close
  End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−
下から、四行目の「Caption」が黄色くなり「型が一致しません」と出てしまいます。
他のサイトを参考に(上から)4行目に型の指定を入れたのですが記述に間違いがあったのでしょうか?

ぽしゃた 2008/01/17(木) 17:00:11 <初心者>
[[解決]]

解決しました。
一応成功した記述を。

 Private Sub Command1_click()
  Dim cn As Variant
  Dim rst As ADODB.Recordset  
  Dim a As String
'** ODBC 接続
  Set cn = CreateObject("ADODB.Connection")
  cn.Open "dsn=mysqldb;uid=root;pwd=MyPassWorD"
  cn.CursorLocation = 3
'** データ問い合わせ
  Set rst = New ADODB.Recordset
  rst.Open "SELECT * From test", cn
Do Until rst.EOF
 a = rst!number & rst!Name & rst!point
 rst.MoveNext
 List1.AddItem a
Loop
'** ODBC 接続解除
  cn.Close
  End Sub

ぽしゃた 2008/01/17(木) 17:00:14 <初心者>
[[解決]]

解決しました。
一応成功した記述を。

 Private Sub Command1_click()
  Dim cn As Variant
  Dim rst As ADODB.Recordset  
  Dim a As String
'** ODBC 接続
  Set cn = CreateObject("ADODB.Connection")
  cn.Open "dsn=mysqldb;uid=root;pwd=MyPassWorD"
  cn.CursorLocation = 3
'** データ問い合わせ
  Set rst = New ADODB.Recordset
  rst.Open "SELECT * From test", cn
Do Until rst.EOF
 a = rst!number & rst!Name & rst!point
 rst.MoveNext
 List1.AddItem a
Loop
'** ODBC 接続解除
  cn.Close
  End Sub

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library