Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Dubbla meddelanden i nyhetsbrev

Postades av 2005-05-04 13:09:05 - Johan Moberg, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 420 personer

Hej!

Håller på med ett nyhetsbrev som skall skicka ut veckans lunchmeny. Brevet går iväg men nr 1 i databasen får ett meddelande och nr 2 dubbla och nr 3 tre st osv.

Någon som vet varför?

För att skicka brevet gör jag följande:

<!-- #include file = "../include/functions.asp" -->
<%
'Formulärvärden tas emot och läggs i variabler
strID = Request.Form("week")

'Instansiering av connectionobjekt
Call dbOpen(Connect)

'Plockar fram prenumeranter
sqlMail = "Select * From t_lunchmenu_list"
Set objRsMail = Connect.Execute(sqlMail)

'Skriver ut ett meddelande om det inte finns några prenumeranter i db
If objRsMail.EOF Then
Response.Write "Dett finns inga prenumeranter!"
Else
'Plockar fram menyn som skall skickas
sqlMenu = "Select * From t_lunchmenu Where ID="& strID &""
Set objRsMenu = Connect.Execute(sqlMenu)

Do Until objRsMail.EOF

'Instansiering av mailkomponenten CDONTS
Set objMail = Server.CreateObject("CDONTS.NewMail")

HTML = HTML & "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"& vbCrLf
HTML = HTML & "<html>"& vbCrLf
HTML = HTML & "<head>"& vbCrLf
HTML = HTML & "<title>Test</title>"& vbCrLf
HTML = HTML & "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"& vbCrLf
HTML = HTML & "</head>"& vbCrLf
HTML = HTML & "<body>"& vbCrLf & vbCrLf

HTML = HTML & ""& objRsMenu("m_Text") &"" & vbCrLf

HTML = HTML & "</body>" & vbCrLf
HTML = HTML & "</html>"

objMail.From = "x@doman.se"
objMail.To = objRsMail("l_Mail")
objMail.Subject = "Ämnet"
objMail.BodyFormat = 0
objMail.MailFormat = 0
objMail.Body = HTML
objMail.Send
Set objMail = Nothing

objRsMail.MoveNext
Loop

objRsMenu.Close : Set objRsMenu = Nothing
End If

objRsMail.Close : Set objRsMail = Nothing
Call dbClose(Connect)
Response.Redirect "confirm.asp?action=menusend"
%>


Svara

Sv: Dubbla meddelanden i nyhetsbrev

Postades av 2005-05-04 13:27:37 - Benni Svensson

Du har ju dubbla SQL:er!

 'Skriver ut ett meddelande om det inte finns några prenumeranter i db 
    If objRsMail.EOF Then 
        Response.Write "Dett finns inga prenumeranter!" 
    Else 
        'Plockar fram menyn som skall skickas 
        sqlMenu = "Select * From t_lunchmenu Where ID="& strID &"" 
Set objRsMenu = Connect.Execute(sqlMenu)
 'du har ju redan kollat så att
 'det finns poster, då behöver du inte hämta igen.
        
        Do Until objRsMail.EOF 


Läs min komentar.
Sen igen...
Jag är väldigt alärgisk mot att använda astrix dvs *.
Du ökar prestandarden på servern genom att namnge de fält som du vill ha. Databasen behöver inte
leta efter vad som finns i tabellen, och du har samtidigt en kontroll över stavning osv.

Gör dig själv den tjänsten att bara ta fram de fält du vill ha, och även om du behöver alla
så namnge dom, du tjänar på det i längden.


Svara

Sv:Dubbla meddelanden i nyhetsbrev

Postades av 2005-05-04 13:37:03 - Johan Moberg

Men i den första SQL:en så plockar jag ju fram alla prenumeranter dvs. alla e-postadresser som jag ska skicka till och i den andra SQL:en plockar jag fram själva menyn som ska skrivas ut i meddelandet.

Är det fel att göra så? hur ska man annars göra? eller hur menar du?

Ps. Tack för tipset med astrix, ska tänka på det.


Svara

Sv: Dubbla meddelanden i nyhetsbrev

Postades av 2005-05-04 15:05:13 - Johan Bovin

Ditt problem ligger nog snarare på att du aldrig "tömmer" din variabel HTML

Do Until objRsMail.EOF
       
        'Instansiering av mailkomponenten CDONTS
        Set objMail = Server.CreateObject("CDONTS.NewMail")
       
 -->   HTML = HTML & "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"& vbCrLf
        HTML = HTML & "<html>"& vbCrLf
        HTML = HTML & "<head>"& vbCrLf
        HTML = HTML & "<title>Test</title>"& vbCrLf
        HTML = HTML & "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"& vbCrLf
        HTML = HTML & "</head>"& vbCrLf
        HTML = HTML & "<body>"& vbCrLf & vbCrLf   
       
        HTML = HTML & ""& objRsMenu("m_Text") &"" & vbCrLf
       
        HTML = HTML & "</body>" & vbCrLf
        HTML = HTML & "</html>"
   
        objMail.From = "x@doman.se"
        objMail.To = objRsMail("l_Mail")
        objMail.Subject = "Ämnet"
        objMail.BodyFormat = 0
        objMail.MailFormat = 0
        objMail.Body = HTML
        objMail.Send
        Set objMail = Nothing
       
        objRsMail.MoveNext
        Loop 

borde kanske bli:
Do Until objRsMail.EOF
       
        'Instansiering av mailkomponenten CDONTS
        Set objMail = Server.CreateObject("CDONTS.NewMail")
       
        HTML = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"& vbCrLf
        HTML = HTML & "<html>"& vbCrLf
        HTML = HTML & "<head>"& vbCrLf
        HTML = HTML & "<title>Test</title>"& vbCrLf
        HTML = HTML & "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"& vbCrLf
        HTML = HTML & "</head>"& vbCrLf
        HTML = HTML & "<body>"& vbCrLf & vbCrLf   
       
        HTML = HTML & ""& objRsMenu("m_Text") &"" & vbCrLf
       
        HTML = HTML & "</body>" & vbCrLf
        HTML = HTML & "</html>"
   
        objMail.From = "x@doman.se"
        objMail.To = objRsMail("l_Mail")
        objMail.Subject = "Ämnet"
        objMail.BodyFormat = 0
        objMail.MailFormat = 0
        objMail.Body = HTML
        objMail.Send
        Set objMail = Nothing
       
        objRsMail.MoveNext
        Loop 

Edit:
Det verkar lite onödigt att skapa om ditt meddelande mellan varje prenumerant så detta kanske är en bättre lösning:
<%
    'Formulärvärden tas emot och läggs i variabler
    strID = Request.Form("week")
   
    'Instansiering av connectionobjekt
    Call dbOpen(Connect)
   
    'Plockar fram prenumeranter
    sqlMail = "Select * From t_lunchmenu_list"
    Set objRsMail = Connect.Execute(sqlMail)
   
    'Skriver ut ett meddelande om det inte finns några prenumeranter i db
    If objRsMail.EOF Then
        Response.Write "Dett finns inga prenumeranter!"
    Else
        'Plockar fram menyn som skall skickas
        sqlMenu = "Select * From t_lunchmenu Where ID="& strID &""
        Set objRsMenu = Connect.Execute(sqlMenu)
       
        HTML = & "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">"& vbCrLf
        HTML = HTML & "<html>"& vbCrLf
        HTML = HTML & "<head>"& vbCrLf
        HTML = HTML & "<title>Test</title>"& vbCrLf
        HTML = HTML & "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"& vbCrLf
        HTML = HTML & "</head>"& vbCrLf
        HTML = HTML & "<body>"& vbCrLf & vbCrLf   
       
        HTML = HTML & ""& objRsMenu("m_Text") &"" & vbCrLf
       
        HTML = HTML & "</body>" & vbCrLf
        HTML = HTML & "</html>"
	Do Until objRsMail.EOF
		'Instansiering av mailkomponenten CDONTS
		Set objMail = Server.CreateObject("CDONTS.NewMail")
		objMail.From = "x@doman.se"
		objMail.To = objRsMail("l_Mail")
		objMail.Subject = "Ämnet"
		objMail.BodyFormat = 0
		objMail.MailFormat = 0
		objMail.Body = HTML
		objMail.Send
		Set objMail = Nothing
	       
		objRsMail.MoveNext
        Loop
       
        objRsMenu.Close : Set objRsMenu = Nothing
    End If
   
    objRsMail.Close : Set objRsMail = Nothing
    Call dbClose(Connect)
    Response.Redirect "confirm.asp?action=menusend"
%>


Svara

Sv:Dubbla meddelanden i nyhetsbrev

Postades av 2005-05-04 16:13:49 - Johan Moberg

Kanon! nu fungerar det mycket bättre, tack!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
5 859
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies