13. januar 2003 - 20:02Der er
10 kommentarer og 2 løsninger
Kan nogen umildbart se fejl i denne linie ?
Hej, Den laver fejl i følgende linie
Set rs = myConn.Execute("Select email, name From Entries Where replyid = '" & Request.QueryString("id") & "' And tilmail='" & ("1") & "' And email <>'" & ("strEmail") & "'")
Ikke lige umiddelbart - prøv at ændre koden til: sql = "Select email, name From Entries Where replyid = '" & Request.QueryString("id") & "' And tilmail='" & ("1") & "' And email <>'" & ("strEmail") & "'" respone.write(sql &"<br>") Set rs = myConn.Execute(sql)
Så kan vi se den færdige SQL-sætning. Får du en fejlmeddelelse, eller kommer der blot ingen resultater?
Den skriver Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Og det er så den linie jeg har skrevet.
Nu har jeg lige prøvet noget. Nemlig at fjerne replyid = '" & Request.QueryString("id") & "' Og skrive sådan Set rs = myConn.Execute("Select email, name From Entries Where tilmail=1 And email <>'" & ("strEmail") & "'") Og så virker det...
Hvis replyid er defineret som tal skal der ikke ' omkring:
Set rs = myConn.Execute("Select email, name From Entries Where replyid = " & Request.QueryString("id") & " And tilmail='1' And email <> '" & strEmail & "'")
eagleeye > den skriver det sammen når jeg indsætter din kode. Så det må være " & Request.QueryString("id") & " som er problemet. Men i min url står der asp?id=432&ForumID=9 så jeg kan ikke rigtig se hvad der skulle være galt ;(
Igen hvis tilmail er tal skal der ikke ' omkring, det er generalt hvis en kolonne er defineret som tal skal der ikke ' omkring:
Set rs = myConn.Execute("Select email, name From Entries Where replyid = " & Request.QueryString("id") & " And tilmail=1 And email <> '" & strEmail & "'")
Jeg kan ikke få det lort til at virke. Så snart jeg bruge den request("id") kommer der fejl. Felttyper Id = Autonummerering replyid = tal email = tekst tilmail = tal
Jeg glemte at jeg både skulle have id = (requst(id)) og replyid = (requst(id)) Men det skulle ikke have nogen betydning det virker nu heller ikke alligevel
Set rs = myConn.Execute("Select email, name From Entries Where id = " & Request.QueryString("id") & " And replyid = " & Request.QueryString("id") & " And tilmail=1 And email <> '" & strEmail & "'")
Set rs = myConn.Execute("Select email, name From Entries Where replyid = "& Request.QueryString("id") & " And tilmail=" & ("1") & " And email <>'" & ("strEmail") & "'")
Jeg er lige kommet hjem og begyndt at lege med det igen. Med lidt friske øjne. Det var fordi den ikke kunne finde nogle med alle de betingelser jeg have sat på. Så jeg prøvede at ændre And til Or således: Set rs = myConn.Execute("Select email, name From Entries Where id = " & Request.QueryString("id") & " Or replyid = " & Request.QueryString("id") & " And tilmail=1 And email <> '" & strEmail & "'") Men jeg takker mange gange for jeres hjælp. Nu skal jeg bare have lavet så den kun udskriver den samme e-mail én gang. Men jeg opretter et nyt spørgsmål så i kan få flere point hvis i kan svaret.
Synes godt om
Ny brugerNybegynder
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.