sql语句单引号双引号 - BOF或EOF都是true

时间:2016-09-28 00:42:15

标签: sql asp.net sql-server ado

你能帮我解决一下我的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);  

3 个答案:

答案 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 ;;"。