Avatar billede cdc Novice
29. januar 2004 - 15:04 Der er 14 kommentarer og
1 løsning

Data type mismatch i loginscript

Grundet at webhotellet har skiftet over fra 2000 server til 2003 server, kan jeg ikke bruge mit perl login scrip mere. Så jeg er igang med at lave et i asp, men her får jeg denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/member/index.asp, line 13

den del af scriptet ser således ud:

Function GetRecords(grSQL) 
  Dim tmpRS 
  Set tmpRS = Server.CreateObject("ADODB.RecordSet") 
  tmpRS.Open grSQL, DB, 3, 1 
  Set GetRecords = tmpRS 
  Set tmpRS = Nothing 
  grSQL = "" 
End Function 

hvad er galt
Avatar billede Slettet bruger
29. januar 2004 - 15:06 #1
prøv med  tmpRS.Open Cstr(grSQL), DB, 3, 1
Avatar billede Slettet bruger
29. januar 2004 - 15:07 #2
hvad står gr for?
Avatar billede cdc Novice
29. januar 2004 - 15:12 #3
samme problem.

Nu er dette script et jeg bruger et andet sted, og uden problemer

gr må stå for: Function GetRecords(grSQL)
Avatar billede Slettet bruger
29. januar 2004 - 15:14 #4
hvilken linie er nr 13?
Avatar billede cdc Novice
29. januar 2004 - 15:15 #5
tmpRS.Open grSQL, DB, 3, 1
Avatar billede cdc Novice
29. januar 2004 - 15:16 #6
hele scriptet:

<% Dim tLogin, tPassword, ErrCode, RS, DB 

Sub OpenDatabase() 

set DB = server.createobject("ADODB.connection")
path = Server.MapPath("min_database.mdb")
DB.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
End Sub 

Function GetRecords(grSQL) 
  Dim tmpRS 
  Set tmpRS = Server.CreateObject("ADODB.RecordSet") 
  tmpRS.Open grSQL, DB, 3, 1 
  Set GetRecords = tmpRS 
  Set tmpRS = Nothing 
  grSQL = "" 
End Function 

Function UnQuote(WorkStr) 
  UnQuote = Replace(WorkStr, "'", "''") 
End Function 

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then 
  tLogin = Request.Form("login") 
  tPassword = Request.Form("password") 
  OpenDatabase 
 
Set RS = GetRecords("SELECT * FROM login WHERE username='" & UnQuote(tLogin) & "' AND userpwd='" & UnQuote(tPassword) & "'") 

If RS.RecordCount = 1 Then       
  Session("UserID") = RS("ID")       
  RS.Close       
  Set RS = Nothing       
  DB.Close       
  Set DB = Nothing     
  Else
 
  Response.Write "Det indtastede brugernavn og password stemmer ikke overens." 
  End If 
End If 

%>
Avatar billede Slettet bruger
29. januar 2004 - 15:17 #7
hmm, der er jo intet i funktionen som fortæller hvad DB variablen er?

Men må jeg spørge hvorfor du ikke bare bruger den indbygge rs.getrows() metode?
Avatar billede cdc Novice
29. januar 2004 - 15:19 #8
som sagt er det et jeg har fået lavet til et andet sted, og er ikke aså programør selv, men bruger og og kan rette tingene til så det spiller, bare ikke dette
Avatar billede cdc Novice
29. januar 2004 - 15:30 #9
tror jeg ved hvad fejlen er, siden skal viderestilles til et formular i det script som jeg har kigget på og bruger i dag, og det vil jeg ikke her:
http://www.hillerodgolf.dk/login_01/login.asp prøv med cdc og 1970
Avatar billede Slettet bruger
29. januar 2004 - 15:34 #10
det virker da fint :)
Avatar billede cdc Novice
29. januar 2004 - 15:35 #11
ja her, men ikke i den anden mappe jeg vil lave det i
Avatar billede Slettet bruger
29. januar 2004 - 15:36 #12
kan det ha' noget med stien til databasen at gøre?
Avatar billede cdc Novice
29. januar 2004 - 15:38 #13
hmmm, nu har jeg lavet om på det så den ikke skifter til formular.asp, men til et andet i en anden mappe, og så står den af...
Må nok finde et andet at rode med tror jeg
Avatar billede Slettet bruger
29. januar 2004 - 15:39 #14
jeg synes også at dit script ser unødigt bøvlet ud

kig på www.activedeveloper.dk og søg på login under downloads - sikker på du kan finde noget der
Avatar billede cdc Novice
29. januar 2004 - 15:42 #15
ved det godt, me synes dette, var nemt at gå til, har ikke haft problemer med det andet steds, men finder lige et nyt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester