Avatar billede snebolle Nybegynder
13. januar 2003 - 20:02 Der 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") & "'")

Kan nogen se fejlen ?
Avatar billede angam Nybegynder
13. januar 2003 - 20:06 #1
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?
Avatar billede snebolle Nybegynder
13. januar 2003 - 20:10 #2
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...
Avatar billede eagleeye Praktikant
13. januar 2003 - 20:16 #3
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 & "'")
Avatar billede snebolle Nybegynder
13. januar 2003 - 20:24 #4
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 ;(
Avatar billede angam Nybegynder
13. januar 2003 - 20:28 #5
snebolle > Prøv (som jeg foreslog tidligere) at udskrive den færdige sql-sætning. Det gør det voldsomt meget nemmere for alle at debugge.
Avatar billede snebolle Nybegynder
13. januar 2003 - 20:33 #6
angam >> så skriver den
Select email, name From Entries Where id = 461 And tilmail='1' And email <> 'rene@mail.dk'

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

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

/forum/forumspm.asp, line 140
Avatar billede eagleeye Praktikant
13. januar 2003 - 20:35 #7
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 & "'")
Avatar billede angam Nybegynder
13. januar 2003 - 20:51 #8
Jeg giver eagleeye ret - ihvertfald indtil at du (snebolle :-) lige fortæller os hvilke felttyper replyid,tilmail og email er.
Avatar billede snebolle Nybegynder
13. januar 2003 - 21:14 #9
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 & "'")
Avatar billede angam Nybegynder
13. januar 2003 - 21:35 #10
Prøv dette så:

Set rs = myConn.Execute("Select email, name From Entries Where replyid = "& Request.QueryString("id") & " And tilmail=" & ("1") & " And email <>'" & ("strEmail") & "'")
Avatar billede eagleeye Praktikant
13. januar 2003 - 23:47 #11
Hvilken fejl kommer?

Det kunne måske være fordi Request("id") er tom?
Avatar billede snebolle Nybegynder
14. januar 2003 - 18:19 #12
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.
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