■55098 / inTopicNo.1) |
OleDBでSQLに変数を渡す方法 |
□投稿者/ akira (14回)-(2010/11/16(Tue) 22:20:30)
|
分類:[ASP.NET (VB)]
VWD2008とDBにMS-Access2003を利用し、Webアプリの認証機能を↓のページを参考に作成し
ています。(SQL ServerをMS-Accessに変更)
http://www.atmarkit.co.jp/fdotnet/dotnettips/147aspusrdb/aspusrdb.html
OleDBで扱うSQLのパラメータに変数で渡す方法がわからなくて困っております。
アドバイス頂けると助かります。
Dim objCom As New OleDbCommand("SELECT * FROM usr WHERE uid=@uid AND passwd=@passwd", objDb)
objCom.Parameters.Add("@uid", OleDbType.VarWChar, 50)
objCom.Parameters("@uid").Value = txtUsr.Text
objCom.Parameters.Add("@passwd", OleDbType.VarWChar, 50)
objCom.Parameters("@passwd").Value = txtPass.Text
の様に@uid、@passwdの順に変数を設定するとプログラムは正しく動くのですが、
Dim objCom As New OleDbCommand("SELECT * FROM usr WHERE uid=@uid AND passwd=@passwd", objDb)
objCom.Parameters.Add("@passwd", OleDbType.VarWChar, 50)
objCom.Parameters("@passwd").Value = txtPass.Text
objCom.Parameters.Add("@uid", OleDbType.VarWChar, 50)
objCom.Parameters("@uid").Value = txtUsr.Text
と@passwd、@uidの順に変数を設定するとプログラムが正しく動いてくれません。
(「正しいユーザID、パスワードを入力してください」のメッセージルーチンに入ってしまう。)
安定して稼働する、SQLのパラメータを変数で設定する方法をアドバイス頂けると助か
ります。よろしくお願いします。
|
|