lillen_009 Postad 5 december, 2002 Share Postad 5 december, 2002 Får det inte att fungera bra: <% If RS("msg") = RS2("replyID") THEN response.write("Svar finns") ELSE response.write("Inget svar")%> Om det uppfyller kriteriet skriver den ut svar finns precis som den ska, men om fältet replyID är tomt (0) så får jag felmsg fel '80020009' Undantag inträffade. /gb/single.asp, rad 35 Det kan inte vara något med anslutningen eftersom villkort uppfylls nör replyID har ett värde som överensstämmer. Länk till kommentar Dela på andra webbplatser More sharing options...
Mr Andersson Postad 5 december, 2002 Share Postad 5 december, 2002 Kanske så här? <% if RS("msg") = CStr(RS2("replyID")) THEN response.write("Svar finns") ELSE response.write("Inget svar") %> Länk till kommentar Dela på andra webbplatser More sharing options...
lillen_009 Postad 5 december, 2002 Trådskapare Share Postad 5 december, 2002 Nej, tyvärr så fungerar det inte. Kan det vara pga att jag har databastyp i replyID som nummer och om posterna inte får något värde blir de tilldelade 0. msg är primärnyckeln Provade med: <% IF RS2("ReplyID")="0" Then response.write("inget svar") else response.write("svar finns") %> Men det fungerade på samma sätt. Om värdet är tex 3 så fungerar det, men om det står en nolla så får ja samma felmeddelande Länk till kommentar Dela på andra webbplatser More sharing options...
Christoffer Eklund Postad 5 december, 2002 Share Postad 5 december, 2002 Det verkar som din sql sats inte ger tillbaka något, och då har du ju inget värde att gämföra med. Så du får först göra en count eller nåt och se om du får ut några poster. Hoppas det hjälper /doffe Länk till kommentar Dela på andra webbplatser More sharing options...
lillen_009 Postad 5 december, 2002 Trådskapare Share Postad 5 december, 2002 Kan lika gärna lägga ut koden så långt jag kommit: <% session.lcid=1053 %> <% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/gbdb.mdb") Set RS = Server.CreateObject("ADODB.RecordSet") SQL = "SELECT * FROM msg WHERE msg = " & CInt(Request.QueryString("msg")) RS.Open SQL, Connect %> <% Set RS2 = Server.CreateObject("ADODB.RecordSet") SQL2 = "SELECT * FROM msg WHERE replyID = " & CInt(Request.QueryString("msg")) RS2.Open SQL2, Connect %> <html> <head> </head> <body> <table width="500"> <tr><td width="500"><%=RS("header")%></td></tr> <tr><td width="500">Skrivet av: <%IF RS("mail") <> "" THEN%> <a href="mailto:<%=RS("mail")%>"><%=RS("author")%></a> <%ELSE%> <%=RS("author")%> <% END IF %> <%If RS("web") <>"" Then%> <a href="<%=web%>">hemsida</a> <%else response.write("") End If%> </td></tr> <tr><td width="500"><%=RS("body")%></td></tr> <hr> <% If RS2("replyID") = RS("msg") Then response.write("svar finns") else response.write("inget svar") End If %> </body> </html> <% RS.Close RS2.close Connect.close%> Om detta uppfylls fungerar det If RS2("replyID") = RS("msg") Then response.write("svar finns") , men varför fungerar det inte om det inte uppfylls, så får jag felmeddelandet jag nämde tidigare. jag vill ju att den ska skriva Inget svar då??? Vad är felet?? Kanske SQL2?? När jag går in på sidan skriver jag single.asp?msg=3 och vill då att den ska söka i databasen i replyID för att se om det finns något replyID som har samma värde som msg i querystringen Poängvarning utfärdas till bra svar!! Länk till kommentar Dela på andra webbplatser More sharing options...
foo Postad 5 december, 2002 Share Postad 5 december, 2002 Hej! Det finns en bugg i ADO som gör att man tappar värdet om fältet är av en viss typ (blob i SQL server). Har tyvärr ingen direkt länk till KB för detta men du kan ju testa. Stoppa in värdena på de fält du vill jämföra i variabler istället, och genomför jämförelsen mot variabelvärdena. typ: vMSG = RS("msg") vReplyID = RS2("replyID") if vMSG = vReplyID then response.write("Svar finns") else response.write("Inget svar") /foo Länk till kommentar Dela på andra webbplatser More sharing options...
lillen_009 Postad 5 december, 2002 Trådskapare Share Postad 5 december, 2002 Tyvärr fungerade inte det heller. Om värdena överensstämmer skriver den som innan svar finns (precis som den ska), men annars får jag ett felmeddelande. Nu får jag ADODB.Field fel '800a0bcd' Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post. Jag vat att jag har en post med den siffran!! Varför skriver den bara inte Inget svar om inte första villkort stämmer. Förstår inte varför den vill krångla till allt. Det är vad som kommer efter else som inte skriv ut utan jag får ett felmsg Länk till kommentar Dela på andra webbplatser More sharing options...
Magnus Gladh Postad 5 december, 2002 Share Postad 5 december, 2002 Det kan bero på som man sagt tidigare att något av dina 2 recordset faktiskt inte har någon data. Alltså Recordset är i position BOF/EOF då får du detta fel. För att vara säker måste du kolla detta först. if not (Rs2.eof And Rs.eof) then If RS2("replyID") = RS("msg") Then response.write("svar finns") else response.write("inget svar") End If else response.write "VA!! Tomt" end if Så nu skall du inte få något fel - Magnus ----------------------------------------------------- ju mer jag lär mig ju mer inser jag så lite jag kan Länk till kommentar Dela på andra webbplatser More sharing options...
lillen_009 Postad 5 december, 2002 Trådskapare Share Postad 5 december, 2002 Funkar inte heller, tyvärr. Fungerar bra om värdet finns, men annars får jag Exeption Occurred error Fungerar inte (ska visa inget svar) http://everything.digitalrice.com/single.asp?msg=2 Fungerar (visar svar finns) http://everything.digitalrice.com/single.asp?msg=3 Länk till kommentar Dela på andra webbplatser More sharing options...
foo Postad 5 december, 2002 Share Postad 5 december, 2002 Hej! Du kanske kan pröva att kombinera Magnus och mitt svar? /foo Länk till kommentar Dela på andra webbplatser More sharing options...
Starre Postad 5 december, 2002 Share Postad 5 december, 2002 Kan inte fel '80020009' vägleda dig? Finns det ingen sida på nätet där man kan kolla upp mer exakt vad det numret betyder? Länk till kommentar Dela på andra webbplatser More sharing options...
lillen_009 Postad 5 december, 2002 Trådskapare Share Postad 5 december, 2002 Jo, jag har kikat på det, men inte hittat något som jag tycker är fel. Men det säger iof inte så mycket eftersom min kunskap är ytterst begränsad (denna tråd visar det) Länk till kommentar Dela på andra webbplatser More sharing options...
Starre Postad 5 december, 2002 Share Postad 5 december, 2002 Min kunskap är nog ännu mer begränsad än din på det här området men kika här: http://support.microsoft.com/default.aspx?scid=KB;en-us;q175239 Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.