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
WP7 5K BELGIUM CHALLENGEWP7 5K BELGIUM CHALLENGE par junarnoalg
Microsoft Belgique a le plaisir de vous annoncer le lancement du
Challenge Windows Phone 7
. Celui-ci se déroule du 12 juillet au 30 novembre 2010 et vous donne l'opportunit...
Cliquez pour lire la suite de l'article par junarnoalg LES MONADES POUR LES NULSLES MONADES POUR LES NULS par mdufourneaudravel
Avec l'annonce de F#, je me suis intéressé de plus en plus à la programmation fonctionnelle, je suis donc rapidement tombé sur les " monades ", mais malgré la lecture de plusieurs articles, j'étais resté perméable à leur concept. C'est désormais fini, grâ...
Cliquez pour lire la suite de l'article par mdufourneaudravel [WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
ASP:BUTTONASP:BUTTON par ldm001
Cliquez pour lire la suite par ldm001
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|