Avatar billede andersasp Nybegynder
25. februar 2004 - 11:54 Der er 18 kommentarer og
1 løsning

Sql Update

Jeg har et mail script til at køre, som skal gemme en status så en modtager ikke får mere end én mail!

Jeg kalder databasen øverst på siden som quitusers. Tabellen i databasen hedder clients - skal dette inkluderes eller??

Jeg har følgende sql update - men den gemmer ikke noget!!

  jmail.Body = "Can´t read this mail?"
  jmail.HTMLBody = body
  jmail.Send "websmtp.andersenit.dk"
  set JMail = nothing

Sql = "UPDATE quitusers SET Uemailstatus = 1"
Con.Execute Sql

    quitusers.movenext
        loop
Avatar billede dk_akj Nybegynder
25. februar 2004 - 11:59 #1
Sql = "UPDATE quitusers SET Uemailstatus = 1 where brugernavn = '"  & quitusers("user") & "'"
Con.Execute Sql
Avatar billede dk_akj Nybegynder
25. februar 2004 - 12:01 #2
hmm trykkede lige på send :-(

brugernavn er den emailadresse / brugernavn du har i clients
quitusers("user") er også emailadresse / brugernavn

//akj
Avatar billede erikjacobsen Ekspert
25. februar 2004 - 12:06 #3
Hvis tabellen hedder clients skal du jo

UPDATE clients ...
Avatar billede andersasp Nybegynder
25. februar 2004 - 12:15 #4
Nu har jeg ændret det! jeg har dog lavet brugernavn om til Brugerens ID:

Sql = "UPDATE quitusers SET Uemailstatus = 1 where UID = '"  & quitusers.Fields.Item("UID") & "'"
Con.Execute Sql

Den gemmer dog ikke status!  jeg smider lige hele kode - er den sat ind det forkerte sted???

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../Connections/quitsmoking.asp" -->
<%
Dim email
Dim email_numRows

Set email = Server.CreateObject("ADODB.Recordset")
email.ActiveConnection = MM_quitsmoking_STRING
email.Source = "SELECT * FROM emails WHERE Emailnr = 1"
email.CursorType = 0
email.CursorLocation = 2
email.LockType = 1
email.Open()

email_numRows = 0
%>
<%
Dim quitusers
Dim quitusers_numRows

Set quitusers = Server.CreateObject("ADODB.Recordset")
quitusers.ActiveConnection = MM_quitsmoking_STRING
quitusers.Source = "SELECT *  FROM clients  WHERE Ustartdate = Date()"
quitusers.CursorType = 0
quitusers.CursorLocation = 2
quitusers.LockType = 1
quitusers.Open()

quitusers_numRows = 0
%>
<%
server.scripttimeout = 3600

        do until quitusers.eof
on error resume next


dim body

body =  "<body background='http://www.quitsmokingin30days.com/tellafriend/greybg.gif'>"
body = body & "<div align='center'>"
body = body & "<center>"
body = body & "<table id='AutoNumber1' style='border-collapse: collapse' borderColor='#111111' cellSpacing='0' cellPadding='0' border='0'>"
body = body & "<tr>"
body = body & "<td><font face='Verdana' size='1'>"
body = body & "<img src='http://www.quitsmokingin30days.com/tellafriend/topbar.gif' border='0' width='577' height='72'></font></td>"
body = body & "</tr>"
body = body & "<tr>"
body = body & "<td background='http://www.quitsmokingin30days.com/tellafriend/greybg.gif'>"
body = body & "<table id='AutoNumber2' style='border-collapse: collapse' borderColor='#111111' cellSpacing='0' cellPadding='0' width='577' border='0'>"
body = body & "<tr>"
body = body & "<td vAlign='bottom' bgColor='#ffffff'><font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "<td vAlign='bottom' width='129%' bgColor='#ffffff'>"
body = body & "<p align='center'><font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "<td vAlign='bottom' bgColor='#ffffff'><font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "</tr>"
body = body & "<tr>"
body = body & "<td bgColor='#ffffff'>&nbsp;</td>"
body = body & "<td width='129%' bgColor='#ffffff'><font face='Verdana' size='2'>Dear " & quitusers.Fields.Item("Ufirstname") & "<br>"
body = body & "<br>"
body = body & "This is your 1 mail from QuitSmokingIn30Days.com</font><p><font face='Verdana' size='2'>"
body = body & "<a href='http://www.quitsmokingin30days.com/30emails/mail01.asp?Uemailadress=" &  quitusers.Fields.Item("Uemailadress") & "'>You can view a better version of this mail here</a></font></p>"
body = body & "<p><font face='Verdana' size='2'>"
body = body & "----------------------------------------------------</font></p>"
body = body & "<p><font face='Verdana' size='2'>" & replace((email.Fields.Item("Emessage")),VbCrLf,"<br/>")  & "</font></td>"
body = body & "<td bgColor='#ffffff'><font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "</tr>"
body = body & "<tr>"
body = body & "<td vAlign='top'><font face='Verdana' size='1'>"
body = body & "<img src='http://www.quitsmokingin30days.com/tellafriend/gbox_bl.gif' border='0' width='15' height='15'></font></td>"
body = body & "<td vAlign='top' width='129%' bgColor='#ffffff'>"
body = body & "<p align='center'><font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "<td vAlign='top'><font face='Verdana' size='1'>"
body = body & "<img src='http://www.quitsmokingin30days.com/tellafriend/gbox_br.gif' border='0' width='15' height='15'></font></td>"
body = body & "</tr>"
body = body & "</table>"
body = body & "</td>"
body = body & "</tr>"
body = body & "<tr>"
body = body & "<td background='http://www.quitsmokingin30days.com/tellafriend/greybg.gif'>"
body = body & "<font face='Verdana' size='1'>&nbsp;</font></td>"
body = body & "</tr>"
body = body & "</table>"
body = body & "</center>"

  Set jmail = Server.CreateObject("JMail.Message")
  jmail.Clear()
  jmail.AddRecipient "anders@smz.dk"
  jmail.From = "noreply@quitsmokingin30days.com"
  jmail.FromName = "quitsmokingin30days.com"
  '1 = High
  '3 = Normal
  '4 = Low
  jmail.priority = 3
  jmail.Subject = "quitsmokingin30days.com"
 
  'Til dem der ikke har mulighed for at læse HTML mails, skriver vi lige en lille besked
  jmail.Body = "Can´t read this mail? go to: www.quitsmokingin30days.com"
  jmail.HTMLBody = body
  jmail.Send "websmtp.quitsmokingin30days.com"
  set JMail = nothing

Sql = "UPDATE quitusers SET Uemailstatus = 1 where UID = '"  & quitusers.Fields.Item("UID") & "'"
Con.Execute Sql


    quitusers.movenext
        loop

%>
<%response.Redirect("mailsendt.asp")%>
<%
email.Close()
Set email = Nothing
%>
<%
quitusers.Close()
Set quitusers = Nothing
%>
Avatar billede andersasp Nybegynder
25. februar 2004 - 12:17 #5
den virker hverken med quitusers eller clients
Avatar billede dk_akj Nybegynder
25. februar 2004 - 12:20 #6
Sql = "UPDATE clients SET Uemailstatus = 1 where UID = '"  & quitusers.Fields.Item("UID") & "'"
Con.Execute Sql

herover sætter du status til 1

men du bruger den ikke i din select
quitusers.Source = "SELECT *  FROM clients  WHERE Ustartdate = Date()"

den skulle vel være
quitusers.Source = "SELECT *  FROM clients  WHERE Uemailstatus <> 1 and Ustartdate = Date()"


//akj
Avatar billede andersasp Nybegynder
25. februar 2004 - 12:27 #7
Ja men det kommer senere! jeg prøver at finde én fejl af gangen da jeg ikke er så skarp når det kommer til mail scripts! :D

Men jeg forstår stadig ikke hvorfor den ikke vil gemme denne status! Uemailstatus er sat til "tal" i access databasen hvis dette har noget at sige!!
Avatar billede dk_akj Nybegynder
25. februar 2004 - 12:32 #8
Sql = "UPDATE clients SET Uemailstatus = 1 where UID = '"  & quitusers.Fields.Item("UID") & "'"

response.write "sql = " & sql
response.end

hvad udskriver den (sql = xxxxxx)

//akj
Avatar billede andersasp Nybegynder
25. februar 2004 - 12:35 #9
sql = UPDATE clients SET Uemailstatus = 1 where UID = '27'
Avatar billede erikjacobsen Ekspert
25. februar 2004 - 12:36 #10
Hvordan ser du "den ikke vil gemme denne status" ?
Avatar billede dk_akj Nybegynder
25. februar 2004 - 12:38 #11
har du årøvet at fyre: UPDATE clients SET Uemailstatus = 1 where UID = '27'
i en sqlpainter / en query i access ?

//akj
Avatar billede andersasp Nybegynder
25. februar 2004 - 12:48 #12
Jeg downloader hele databasen hver gang jeg kører scriptet! og der står stadig 0 i Uemailstatus den sender dog 4 test mails!

Når jeg laver en forespørgsel i access siger den at:

det indtastede udtryk indeholder ugyldige syntaks!
Avatar billede dk_akj Nybegynder
25. februar 2004 - 13:04 #13
er UID også et tal ?? i så fald skal der ikke enkeltgnyffer om det.

prøv UPDATE clients SET Uemailstatus = 1 where UID = 27

//akj
Avatar billede andersasp Nybegynder
25. februar 2004 - 13:20 #14
UID er Autonummerering! det virker heller ikke når jeg fjerner '' jeg har også prøvet med:

sql = UPDATE quitusers SET Uemailstatus = 1 where Uemailadress = 'myemail@city.dk'

Det er fadme underlidt! kan det være Uemailstatus = 1 skal skrives på en anden måde?

Jeg bliver desværre nødt til at smutte et par timer! med tusinde tak for hjælpen ind til videre! Men jeg vender tilbage og smider nogle flere vel fortjente points til dette spørgsmål!
Avatar billede andersasp Nybegynder
25. februar 2004 - 13:22 #15
sorry istedet for "quitusers" står det rigtigt i mit script clients!
Avatar billede dk_akj Nybegynder
25. februar 2004 - 13:36 #16
i access gør du flg:
select * from clients where UID = 27

Giver det nogen rækker ?
Hvis ja hvad er Uemailstatus ?

hvis ovenstående gav nogen rækker så prøver du:
UPDATE clients SET Uemailstatus = 1 where UID = 27

og bagefter
select * from clients where UID = 27

Hvad er Uemailstatus nu ??

//akj
Avatar billede dk_akj Nybegynder
25. februar 2004 - 13:48 #17
Jeg kom til at tænke på om det kan være fordi data er låst.

Prøv evt at ændre quitusers.LockType = 1 til quitusers.LockType = 3

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adoce31/html/ado30ref_28.asp
//akj
Avatar billede andersasp Nybegynder
25. februar 2004 - 17:31 #18
Tak for alt hjælpen!  nu har jeg endelig fået det til at virke man skulle åbenbart hente databasen igen!!  nedenstående virker!

Men dk_akj du har helt sikkert fortjent points! så hvis du lige gider smide et svar:D

  set JMail = nothing

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("../../db/quitsmoking.mdb")

    SQL = "update clients set Uemailstatus=Uemailstatus+1 where UID = " & quitusers.Fields.Item("UID")
    Conn.Execute(SQL)
    Conn.Close

    quitusers.movenext
        loop
Avatar billede dk_akj Nybegynder
25. februar 2004 - 19:00 #19
Jeg er glad for at høre det virker :-)

//akj
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