2016-09-28 2 views
3

Pouvez-vous s'il vous plaît m'aider avec ma déclaration SQL? L'ID d'étudiant et le mot de passe sont du texte. Je pensais avoir trouvé le guillemet simple et le double guillemet mais apparemment pas comme j'obtiens l'erreur "Ou BOF ou EOF est vrai, ou l'enregistrement courant a été supprimé. L'opération demandée exige un enregistrement courant".SQL déclaration guillemets simples guillemets doubles - Soit BOF ou EOF est vrai

Il y a des enregistrements dans mes membres de table.

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

Répondre

2

Votre syntaxe incorrecte semble que vous ne disposez pas d'un espace entre la valeur txtuserID et votre and dans votre sql var. Il devrait ressembler à ceci

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

Je reçois toujours la même erreur – NewPassionnate

0

-moi si je me trompe, mais:

var sql;

sql = "SELECT * FROM Membres où StudentID = '" + txtuserID + "' AND Mot de passe = '" + txtpassword + "'";

L'instruction SQL dans le texte n'est pas terminée avec un ";".

+0

ne fonctionne pas :(merci quand même! – NewPassionnate

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

Vous analysez le txtuserID à un INT.
Vous ne devriez pas le mettre entre guillemets, pour que vous puissiez changer votre SQL à:

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