你能帮我解决一下我的sql语句吗? studentID和密码都是文本。 我以为我想出单引号和双引号但显然不是因为我得到了错误" BOF或EOF为True,或者当前记录已被删除。请求的操作需要当前记录"。
我的桌子成员中有记录。
var mycon;
mycon = new ActiveXObject("ADODB.Connection");
var myrec ;
myrec= new ActiveXObject("ADODB.Recordset");
mycon.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Database2.mdb");
var txtpassword = Request.QueryString("txtpassword");
var txtuserID = parseInt (Request.QueryString("txtuserID"));
var sql;
sql = "SELECT * FROM Members WHERE StudentID='"+txtuserID+"'AND Password='"+txtpassword+"'";
myrec.Open (sql, mycon);
答案 0 :(得分:2)
由于txtuserID
值与and
var中的sql
之间没有空格,因此您的语法看起来不正确。看起来应该是这样的
"SELECT * FROM Members WHERE StudentID = '"+txtuserID+"' AND Password
='"+txtpassword+"'";
答案 1 :(得分:1)
txtuserID = parseInt (Request.QueryString("txtuserID"));
您正在将txtuserID
解析为INT
您不应该将其放在引号中,因此您可以将SQL
更改为:
"SELECT * FROM Members WHERE StudentID= "+txtuserID+" AND Password='"+txtpassword+"'";
答案 2 :(得分:0)
如果我错了,请纠正我,但是:
var sql;
sql =" SELECT * FROM Members WHERE StudentID ='" + txtuserID +"' AND Password ='" + txtpassword +& #34;'&#34 ;;
文本中的SQL语句未完成&#34 ;;"。