VBからmySQLのデータを検索するプログラムをやりたい
のですが、パラメータクエリがうまくいかなくて
困っています。環境は
VB:VB6.0 DB:mySQL5.0 OS:windowsXP
です。現在のコードは
---------------------------------------------
Private cn As New ADODB.Connection
Private cn_cmd As New ADODB.Command
Private param As ADODO.Parameter
Private rs As New ADODB.Recordset
---------------------------------------------
private Sub Form_Load()
Dim dsn As String
dsn = "dsn=my****;uid=root;pwd=*******"
Set cn = CreateObject("ADODB.Connection")
cn.Open dsn
cn.CursorLocation = 3
End Sub
---------------------------------------------
(テキスト:txt.Kensakuに検索する文字を打ち込み
検索ボタンを実行)
---------------------------------------------
Private Sub Command1_Click()
Dim word As Variant
Dim strsql As String
'** コマンドを実行する接続先を指定
cn_cmd.ActiveConnection = cn
'** パラメータを?マークで指定する
cn_cmd.CommandText = "select * from vbtest.famiryname" _
& "where 名字 like ?"
'** パラメータの値を指定する
word = txtKensaku.Text
Set param = New ADODB.Parameter
Set param = cn_cmd.CreateParameter("名字", _
adChar, adParamInput)
cn_cmd.Parameters.Append param ※この行
cn_cmd.Parameters("名字") = "'%" & word & "%'"
'** レコードセット
Set rs = cn_cmd.Execute()
----------------------------------------------
このようなコードですが、実行すると「この行」の
ところでエラーが3708が表示されます。
エラーの内容==Parameter オブジェクトが適切に
定義されていません。矛盾した、または不完全な
情報が提供されました。
となります。ヒントか分かりやすい解説のあるHPを教えて
いただけたらうれしいです。
長文で申し訳ないですが、よろしくお願いします。
VBでデータベース
http://homepage2.nifty.com/inform/vbdb/
過去ログで散々出ているHPですが・・・。
さら さん、ありがとうございます。
このHPも参考にして作ったのですが、初心者なので
解説がなくて出来ないんです。
「ADOでパラメータ付きストアドプロシージャを実行する」
のところの、
' パラメータを ? マークで指定する
cmd.CommandText = "reptq3 ?,?,?"
この部分の「reptq3」のところだけでも教えていただけない
でしょうか?
すいません自己解決いたしました。
自分のやろうとしていることは、パラメータクエリを
使わなくても出来ることに気づきました。
さら さん、有難うございました。
新人会社員市ね
ツイート | ![]() |