Accueil > > > CLASS : NEWSLETTER AVEC OPTIN
CLASS : NEWSLETTER AVEC OPTIN
Information sur la source
Description
Hello ! Voici une petite classe pour vous permettre d'ajouter très facilement un module de newsletter avec optin sur vos sites en ASP.NET / SQLSERVER 2000. Voici aussi le script SQL afin de créer correctement la tables nécéssaire ... CREATE TABLE [dbo].[AA_newsletter] ( [news_id] [int] IDENTITY (1, 1) NOT NULL , [news_mail] [nvarchar] (255) COLLATE French_CI_AS NOT NULL , [news_civ] [nvarchar] (6) COLLATE French_CI_AS NULL , [news_naissance] [smalldatetime] NULL , [news_validation] [bit] NOT NULL , [news_creation] [smalldatetime] NOT NULL , [news_CCP] [nvarchar] (6) COLLATE French_CI_AS NULL , [news_NbEv] [int] NULL , [news_desins] [smalldatetime] NULL , [news_clics] [int] NULL ) ON [PRIMARY]
Source
- #Region "Les imports"
- Imports System.Data.SqlClient
- Imports System.Web
- Imports System.Web.Mail
- Imports System.Configuration
- #End Region
-
- #Region "CopyRight & Co"
- '*********************************************************************************
- '** File: AA-ENGINE\newsletter\Newsletter.vb
- '** Name: AA-ENGINE.Newsletter
- '** Desc: Moteur de newsletter avec double Optin sur une base de données SQLServer
- '**
- '**
- '** Auth: (c)PINNEAU
- '** Date: 07/03/2005
- '*********************************************************************************
- '** Change History
- '*********************************************************************************
- '** Date: Author: Description:
- '** ---------- ------------------ -------------------------------------------
- '** 07/03/2005 Jérôme PINNEAU Création de la classe
- '**
- '*********************************************************************************
- #End Region
- Namespace Newsletter
-
- Public Class Newsletter
-
- Public Shared Function IsAboEmail(ByVal email As String) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- conn.Open()
- Dim com As New SqlCommand("SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC", conn)
- IDretour = com.ExecuteScalar()
- com = Nothing
- conn.Close()
- conn = Nothing
- If IDretour < 0 Then
- Return True
- Else
- Return False
- End If
- End Function
-
- Public Shared Sub AddAbonnes(ByVal email As String)
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- conn.Open()
- Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation,news_validation) VALUES ('" & Replace(email, "'", "''") & "',getdate(),1)", conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- End Sub
-
- Public Function PreInscription(ByVal email As String) As Integer
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- conn.Open()
- Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation) VALUES ('" & email & "',getdate())", conn)
- com.ExecuteNonQuery()
- com.CommandText = "SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC"
- IDretour = com.ExecuteScalar()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return IDretour
- End Function
-
- Public Function Update_Civilite(ByVal Idemail As Integer, ByVal civ As String) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_civ='" & civ & "' WHERE news_id=" & Idemail.ToString, conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- Public Function Update_DateNaissance(ByVal Idemail As Integer, ByVal DateNaissance As String) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_naissance='" & DateNaissance & "' WHERE news_id=" & Idemail.ToString, conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- Public Function Update_CPostal(ByVal Idemail As Integer, ByVal CP As String) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_CCP='" & CP & "' WHERE news_id=" & Idemail.ToString, conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- Public Function Register_mail(ByVal email As String, ByVal Id As Integer) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=1 WHERE news_id=" & Id.ToString & " AND news_mail='" & Replace(email, "'", "''") & "'", conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- AA_ENGINE.IO.Logs.AddEvent("nouvelle inscription à la newsletter", 4)
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- Public Function desinscription_mail(ByVal email As String, ByVal Id As Integer) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,News_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- Public Function new_mail_erreur(ByVal email As String, ByVal Id As Integer) As Boolean
- Dim IDretour As Integer = 0
- Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
- Try
- conn.Open()
- Catch ex As Exception
- Return False
- End Try
- Try
- Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,news_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
- com.ExecuteNonQuery()
- com = Nothing
- conn.Close()
- conn = Nothing
- Return True
- Catch ex As Exception
- conn.Close()
- conn = Nothing
- Return False
- End Try
- End Function
-
- End Class
-
- End Namespace
#Region "Les imports"
Imports System.Data.SqlClient
Imports System.Web
Imports System.Web.Mail
Imports System.Configuration
#End Region
#Region "CopyRight & Co"
'*********************************************************************************
'** File: AA-ENGINE\newsletter\Newsletter.vb
'** Name: AA-ENGINE.Newsletter
'** Desc: Moteur de newsletter avec double Optin sur une base de données SQLServer
'**
'**
'** Auth: (c)PINNEAU
'** Date: 07/03/2005
'*********************************************************************************
'** Change History
'*********************************************************************************
'** Date: Author: Description:
'** ---------- ------------------ -------------------------------------------
'** 07/03/2005 Jérôme PINNEAU Création de la classe
'**
'*********************************************************************************
#End Region
Namespace Newsletter
Public Class Newsletter
Public Shared Function IsAboEmail(ByVal email As String) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
conn.Open()
Dim com As New SqlCommand("SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC", conn)
IDretour = com.ExecuteScalar()
com = Nothing
conn.Close()
conn = Nothing
If IDretour < 0 Then
Return True
Else
Return False
End If
End Function
Public Shared Sub AddAbonnes(ByVal email As String)
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
conn.Open()
Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation,news_validation) VALUES ('" & Replace(email, "'", "''") & "',getdate(),1)", conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
End Sub
Public Function PreInscription(ByVal email As String) As Integer
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
conn.Open()
Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation) VALUES ('" & email & "',getdate())", conn)
com.ExecuteNonQuery()
com.CommandText = "SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC"
IDretour = com.ExecuteScalar()
com = Nothing
conn.Close()
conn = Nothing
Return IDretour
End Function
Public Function Update_Civilite(ByVal Idemail As Integer, ByVal civ As String) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_civ='" & civ & "' WHERE news_id=" & Idemail.ToString, conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
Public Function Update_DateNaissance(ByVal Idemail As Integer, ByVal DateNaissance As String) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_naissance='" & DateNaissance & "' WHERE news_id=" & Idemail.ToString, conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
Public Function Update_CPostal(ByVal Idemail As Integer, ByVal CP As String) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_CCP='" & CP & "' WHERE news_id=" & Idemail.ToString, conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
Public Function Register_mail(ByVal email As String, ByVal Id As Integer) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=1 WHERE news_id=" & Id.ToString & " AND news_mail='" & Replace(email, "'", "''") & "'", conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
AA_ENGINE.IO.Logs.AddEvent("nouvelle inscription à la newsletter", 4)
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
Public Function desinscription_mail(ByVal email As String, ByVal Id As Integer) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,News_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
Public Function new_mail_erreur(ByVal email As String, ByVal Id As Integer) As Boolean
Dim IDretour As Integer = 0
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Try
conn.Open()
Catch ex As Exception
Return False
End Try
Try
Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,news_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
com.ExecuteNonQuery()
com = Nothing
conn.Close()
conn = Nothing
Return True
Catch ex As Exception
conn.Close()
conn = Nothing
Return False
End Try
End Function
End Class
End Namespace
Conclusion
Je l'utilise dans mon framework, très pratique ! Vous devriez faire comme moi (si ce n'est déjà fait), c'est de vous constituer un framework rassemblant toutes les fonctionnalités que vous développez dans un framework (bibliothèque de classe). cela me permet par exemple à présent de développer des sites complets en quelques jours (ecommerce, cartes-virtuelles, annuaires, etc ...)
Historique
- 14 avril 2006 07:58:56 :
- un ; en plus :=)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
URGENT : access / sqlserver / Oracle ??? help-me ! [ par inorbit ]
Je developpe en ASP/acess mais devant un projet de boutique en ligne avec 500 produits et une grosse bande passante j'hésite à utiliser Acess, que me
Module Access + ASP [ par dan ]
Bonjour, il est possible de lancer des procs stockées ca pas de pb. Mais qqun a-t-il reussit a lancer un module Access ???est ce reellement possible ?
RecordSet et ces options [ par ypothier ]
Bonjour !Est-ce que quelqu'un peut me dire qu'elles sont les options que je peux mettre avec mon recordSet pour que la méthode movePrevious fonctionne
Image GIF et mail html avec asp... [ par TORIUKE ]
Bonjour,J'ai un problème d'affichage d'un logo au format GIF dans l'envoi d'une newsletter HTML automatique qui utilise CDONTS et ASP. La visualisatio
CDONTS - Image - Lotus Notes [ par TORIUKE ]
Bonjour,J'ai un problème d'affichage d'un logo au format GIF dans l'envoi d'une newsletter HTML automatique qui utilise CDONTS et ASP. La visualisatio
Peut on lancer un module Access directement en ASP [ par watoonet ]
Bon, je sais, je débute.Mais, bon, peut on exécuter un code access directement en ASP, ou afficher un formulaire access??Elle est peut être nulle ma q
Problème de connexion a la base sqlserver [ par fella2 ]
Problème de connexion a la base sqlserverJe suis une débutante dans asp.net, j'ai essaye d'accéder a une base de données sous SQL Server.Mon fichier s
La NewsLetter de Milliez [ par Abdillahi ]
Bonjour à vous tous,j'ai téléchager depuis ce site le code de la NewslLetter de Milliez...ça ne marche pas! comme je n'arrive pas à avoir une réponse
différences entre fonction et objet ? [ par bubblepwal ]
Bonjour,J'ai deux fois la même chose, une fois en fonction et ça marche !!!, et l'autre en objet (class) et là ça renvoie aucune erreur mais ça fait r
Newsletter de Milliez [ par Abdillahi ]
Bonjour à vous tous,j'ai téléchager depuis ce site le code de la NewslLetter de Milliez...ça ne marche pas! comme je n'arrive pas à avoir une réponse
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|