26. august 2001 - 22:42
Der er
13 kommentarer og 1 løsning
DB Update
Hejsa, Jeg har et mail system på min side og et lille problem ;-) Når en mail læses skal jeg have siden til at opdaterer et feldt i databasen. Sådan ser min \"læs mail\" side ud: -----------------KODE 1 START------------------ <%@ Language=VBScript %> <!--#INCLUDE FILE =\"code_lib.asp\" --> <% SessionTjek() %> <HTML> <HEAD> <META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\"> </HEAD> <BODY> <CENTER> <% SQL = \"SELECT mail_body, mail_subject, m.mail_sendt, u.user_name FROM mails m, users u WHERE (u.id = m.mail_from) AND mail_id = \"& Request.QueryString(\"mail_id\") &\" AND mail_owner = \"& Session(\"mail_login\") Set mailen = COnn.ExeCute(SQL) If mailen.EOF Then Response.Write \"Der er opstået en fejl...Prøv at logge ind igen\" Else %> <TABLE CELLSPACING=\"0\" BORDER=\"0\"> <TR> <TD BGCOLOR=\"#CCCCCC\"> Sendt d. : </TD> <TD BGCOLOR=\"#F0F0F0\"> <% = datovis(mailen(\"mail_sendt\")) %> : <% = FormatDateTime(mailen(\"mail_sendt\"),4) %> </TD> </TR> <TR> <TD BGCOLOR=\"#CCCCCC\"> Afsender : </TD> <TD BGCOLOR=\"#F0F0F0\"> <% = mailen(\"user_name\") %> </TD> </TR> <TR> <TD BGCOLOR=\"#CCCCCC\"> Overskrift : </TD> <TD BGCOLOR=\"#F0F0F0\"> <% = mailen(\"mail_subject\") %> </TD> </TR> <TR> <TD VALIGN=\"TOP\" COLSPAN=\"2\"> <HR> </TD> </TR> <TR> <TD VALIGN=\"TOP\" COLSPAN=\"2\"> <% = mailen(\"mail_body\") %> </TD> </TR> <TR> <TD ALIGN=\"RIGHT\" COLSPAN=\"2\"> <A HREF=\"inbox.asp\">Tilbage til indbakke</A> <A HREF=\"sendmail.asp?write=answer&mail=<% = Request.QueryString(\"mail_id\") %>\">Besvar</A> </TD> </TR> </TABLE> <% End If %> </CENTER> </BODY> </HTML> -----------------KODE 1 SLUT------------------ Altså jeg skal have den til at lave en: rs(\"readt_mail\") = Ok rs.Update Sådan så den skriver \"ok\" i database feldtet readt_mail så snart bruger har læst sin besked. Men hvordan for jeg det til at virke ?
Annonceindlæg fra itavis
26. august 2001 - 23:16
#1
du kan vel if request.querystring(\"mail_id\") then rs(\"readt_mail\") = Ok rs.Update else ???
26. august 2001 - 23:27
#2
Så for jeg denne fejl: Microsoft VBScript runtime error \'800a000d\' Type mismatch: \'rs\' /betachat/mailsystem/readmail.asp, line 81
26. august 2001 - 23:37
#3
Som jeg kan se det så laver du et recordset der hedder \"mailen\", men du har ikke et recordset der hedder \"rs\". Du skal vel skrive : mailen(\"readt_mail\") = Ok mailen.Update
26. august 2001 - 23:38
#4
Du skal selvfølgelig have defineret dit recordset som ikke read-only
26. august 2001 - 23:39
#5
Hej farouche Nu har jeg prøvet det du skrev men så for jeg denne fejl kode: ADODB.Recordset error \'800a0cc1\' Item cannot be found in the collection corresponding to the requested name or ordinal. /betachat/mailsystem/readmail.asp, line 80
26. august 2001 - 23:41
#6
Hvordan gøres det: ? recordset som ikke read-only
26. august 2001 - 23:46
#7
Min database er ikke read-only. For alt andet arbejde i databasen virker. Det enste jeg mangler er at når siden loades så skriver den \"OK\" i databasen. Jeg trode det var nemt at lave i asp men det vidst et stører arbejde....
26. august 2001 - 23:48
#8
collection corresponding to the requested name mangler du så ikke et item som hedder readt_mail i din tabel?
26. august 2001 - 23:50
#9
--> Jiggypoof Nej bare det var fejlen :-) readt_mail er i min database...
26. august 2001 - 23:50
#10
eeeehhhhh, ja ser du, normalt gør jeg det ikke som du gør, da jeg hovedsaglig arbejder med command objekter og stored procedures. Men prøv følgende : set mailen = server.createobject(\"adodb.recordset\") mailen.open \"sqlstreng\", conn, adOpenForwardOnly, adLockOptimistic, adCmdTable
27. august 2001 - 00:01
#11
Jeg prøver vidrer i morgen og giver point til det svar der hjælper mig. Men tak for alle jeres svar.
27. august 2001 - 10:00
#12
mailen(\"readt_mail\") = Ok skal jo nok være mailen(\"readt_mail\") = \'Ok\'
27. august 2001 - 10:02
#13
det kan dog være at du skal bruge conn.execute(\"UPDATE tabel SET (readt_mail = \'OK\')\") hvis du ikke har oprettet adodb.recordset
06. september 2001 - 13:54
#14
Intet virker sorry...
Kurser inden for grundlæggende programmering