2016-09-28 97 views
3

您可以用我的sql语句帮助我吗? studentID和密码都是文本。 我以为我想出了单引号和双引号,但显然不是因为我得到错误“BOF或EOF是True,或者当前记录已被删除,请求的操作需要当前记录”。sql语句单引号双引号 - BOF或EOF都为真

我的会员中有记录。

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); 

回答

2

你的语法看起来不正确的,你没有txtuserID价值和你and之间的空间,在你sql变种。它应该是这样的

"SELECT * FROM Members WHERE StudentID = '"+txtuserID+"' AND Password 
='"+txtpassword+"'"; 
+0

我仍然得到同样的错误 – NewPassionnate

0

纠正我,如果我错了,但在:

VAR SQL;

sql =“SELECT * FROM Members WHERE StudentID ='”+ txtuserID +“'AND Password ='”+ txtpassword +“'”;

文本中的SQL语句没有用“;”结束。

+0

不工作:(我还是谢谢你! – NewPassionnate

1
txtuserID = parseInt (Request.QueryString("txtuserID")); 

您解析txtuserIDINT
你不应该把它放在引号,这样你就可以改变你的SQL到:

"SELECT * FROM Members WHERE StudentID= "+txtuserID+" AND Password='"+txtpassword+"'";