2016-09-28 3 views
3

Не могли бы вы помочь мне с моим заявлением sql? оба studentID и пароль - это текст. Я думал, что разобрался с одной цитатой и двойной цитатой, но, видимо, не так, как я получаю сообщение об ошибке «Либо BOF, либо EOF - True, или текущая запись была удалена. Запрошенная операция требует текущей записи».sql statement single quote double quote - Либо 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

Поправьте меня, если я ошибаюсь, но в:

вар SQL;

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

Оператор SQL в тексте не заканчивается символом «;».

+0

не работает :(все равно спасибо! – NewPassionnate

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

Вы разбор txtuserID к INT.
Вы не должны поместить его в кавычки, чтобы вы могли изменить ваш SQL на:

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