Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASS : TRACKING POUR VOTRE ECOMMERCE (MYSQL SQLSERVER)


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : tracking, ecommerce, class, mysql, sql Niveau : Débutant Date de création : 01/05/2005 Vu : 8 302

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


Description

Et hop ! encore une petite classe réutilisable à loisir !
C'est avec cette classe que je gère le Tracking sur mes sites de e-commerce (enfin, une autre plus complète mais sur la même base. Cette classe fonctionne sous SQLServer et MySQL, voici les deux scripts SQL :

Sous SQLServer :
CREATE TABLE [dbo].[AA_TRACKING] (
[T_IDTrack] [nvarchar] (100) COLLATE French_CI_AS NOT NULL ,
[T_IDCook] [nvarchar] (100) COLLATE French_CI_AS NULL ,
[T_InscrNews] [int] NOT NULL ,
[T_Referant] [nvarchar] (255) COLLATE French_CI_AS NULL ,
[T_IP] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[T_PartId] [int] NOT NULL ,
[T_BannerId] [int] NOT NULL ,
[T_ActionId] [int] NOT NULL ,
[T_DateOpen] [smalldatetime] NOT NULL ,
[T_DateClose] [smalldatetime] NOT NULL ,
[T_AddPanier] [int] NOT NULL ,
[T_IdCommande] [int] NOT NULL ,
[T_IdClient] [int] NOT NULL ,
[T_Email] [nvarchar] (255) COLLATE French_CI_AS NULL ,
[T_UseMoteur] [int] NOT NULL ,
[T_UseAcProd] [int] NOT NULL ,
[T_Cross] [int] NOT NULL ,
[T_URLSite] [nvarchar] (100) COLLATE French_CI_AS NULL ,
[T_promoref] [nvarchar] (50) COLLATE French_CI_AS NULL ,
[T_CACom] [decimal](18, 0) NULL ,
[T_DOMAINE] [nvarchar] (255) COLLATE French_CI_AS NULL ,
[T_NbPage] [int] NULL
) ON [PRIMARY]
GO

Sous MySQL :
CREATE TABLE `aa_tracking` (
  `T_IDTrack` varchar(100) NOT NULL default '',
  `T_IDCook` varchar(100) default NULL,
  `T_InscrNews` int(11) NOT NULL default '0',
  `T_Referant` varchar(255) default NULL,
  `T_IP` varchar(50) default NULL,
  `T_PartId` int(11) default '0',
  `T_BannerId` int(11) default '0',
  `T_ActionId` int(11) default '0',
  `T_DateOpen` date default NULL,
  `T_DateClose` date default NULL,
  `T_AddPanier` int(11) default '0',
  `T_IdCommande` int(11) default '0',
  `T_IdClient` int(11) default '0',
  `T_Email` varchar(255) default NULL,
  `T_UseMoteur` int(11) default '0',
  `T_UseAcProd` int(11) default '0',
  `T_Cross` int(11) default '0',
  `T_URLSite` varchar(100) default NULL,
  `T_promoref` varchar(50) default NULL,
  `T_CACom` decimal(10,0) default '0',
  `T_DOMAINE` varchar(255) default NULL,
  `T_NbPage` int(11) default '0',
  PRIMARY KEY  (`T_IDTrack`)
) TYPE=MyISAM;

 

Source

  • Imports System.Data.SqlClient
  • Imports System.Data.Odbc
  • Imports System.Configuration
  • Imports System.Web.HttpServerUtility
  • Namespace ecommerce
  • Public Class eComTracking
  • Protected _IDTrack As String
  • Public ReadOnly Property IDTrack() As String
  • Get
  • Return _IDTrack
  • End Get
  • End Property
  • Protected _IDCook As String = ""
  • Public Property IDCook() As String
  • Get
  • Return _IDCook
  • End Get
  • Set(ByVal Value As String)
  • _IDCook = Value
  • End Set
  • End Property
  • Protected _IsRegister As Boolean = True
  • Public Property IsRegister() As Boolean
  • Get
  • Return _IsRegister
  • End Get
  • Set(ByVal Value As Boolean)
  • _IsRegister = Value
  • End Set
  • End Property
  • Protected _InscrNews As Integer = 0
  • Public Property InscrNews() As Integer
  • Get
  • Return _InscrNews
  • End Get
  • Set(ByVal Value As Integer)
  • _InscrNews = Value
  • End Set
  • End Property
  • Protected _Referant As String = ""
  • Public Property Referant() As String
  • Get
  • Return _Referant
  • End Get
  • Set(ByVal Value As String)
  • _Referant = Value
  • End Set
  • End Property
  • Protected _IP As String = ""
  • Public Property IP() As String
  • Get
  • Return _IP
  • End Get
  • Set(ByVal Value As String)
  • _IP = Value
  • End Set
  • End Property
  • Protected _PartId As Integer = 0
  • Public Property PartId() As Integer
  • Get
  • Return _PartId
  • End Get
  • Set(ByVal Value As Integer)
  • _PartId = Value
  • End Set
  • End Property
  • Protected _BannerId As Integer = 0
  • Public Property BannerId() As Integer
  • Get
  • Return _BannerId
  • End Get
  • Set(ByVal Value As Integer)
  • _BannerId = Value
  • End Set
  • End Property
  • Protected _ActionId As Integer = 0
  • Public Property ActionId() As Integer
  • Get
  • Return _ActionId
  • End Get
  • Set(ByVal Value As Integer)
  • _ActionId = Value
  • End Set
  • End Property
  • Protected _DateOpen As Date = Now
  • Public Property DateOpen() As Date
  • Get
  • Return _DateOpen
  • End Get
  • Set(ByVal Value As Date)
  • _DateOpen = Value
  • End Set
  • End Property
  • Protected _AddPanier As Integer = 0
  • Public Property AddPanier() As Integer
  • Get
  • Return _AddPanier
  • End Get
  • Set(ByVal Value As Integer)
  • _AddPanier = Value
  • End Set
  • End Property
  • Protected _IdCommande As Integer = 0
  • Public Property IdCommande() As Integer
  • Get
  • Return _IdCommande
  • End Get
  • Set(ByVal Value As Integer)
  • _IdCommande = Value
  • End Set
  • End Property
  • Protected _IdClient As Integer = 0
  • Public Property IdClient() As Integer
  • Get
  • Return _IdClient
  • End Get
  • Set(ByVal Value As Integer)
  • _IdClient = Value
  • End Set
  • End Property
  • Protected _Email As String = ""
  • Public Property Email() As String
  • Get
  • Return _Email
  • End Get
  • Set(ByVal Value As String)
  • _Email = Value
  • End Set
  • End Property
  • Protected _UseMoteur As Integer = 0
  • Public Property UseMoteur() As Integer
  • Get
  • Return _UseMoteur
  • End Get
  • Set(ByVal Value As Integer)
  • _UseMoteur = Value
  • End Set
  • End Property
  • Protected _UseAcProd As Integer = 0
  • Public Property UseAcProd() As Integer
  • Get
  • Return _UseAcProd
  • End Get
  • Set(ByVal Value As Integer)
  • _UseAcProd = Value
  • End Set
  • End Property
  • Protected _Cross As Integer = 0
  • Public Property Cross() As Integer
  • Get
  • Return _Cross
  • End Get
  • Set(ByVal Value As Integer)
  • _Cross = Value
  • End Set
  • End Property
  • Protected _URLSite As String = ""
  • Public Property URLSite() As String
  • Get
  • Return _URLSite
  • End Get
  • Set(ByVal Value As String)
  • _URLSite = Value
  • End Set
  • End Property
  • Protected _promoref As String = ""
  • Public Property promoref() As String
  • Get
  • Return _promoref
  • End Get
  • Set(ByVal Value As String)
  • _promoref = Value
  • End Set
  • End Property
  • Protected _domaine As String = ""
  • Public Property domaine() As String
  • Get
  • Return _domaine
  • End Get
  • Set(ByVal Value As String)
  • _domaine = Value
  • End Set
  • End Property
  • Protected _NbPage As Integer = 0
  • Public Property NbPage() As Integer
  • Get
  • Return _NbPage
  • End Get
  • Set(ByVal Value As Integer)
  • _NbPage = Value
  • End Set
  • End Property
  • Public Sub New(ByVal IDTracking As String, ByVal StrReferant As String, ByVal IPuser As String, Optional ByVal URLSite As String = "euros-laser.com", Optional ByVal IsRegister As Boolean = True)
  • _IDTrack = IDTracking
  • Referant = StrReferant
  • _IP = IPuser
  • _IsRegister = IsRegister
  • _URLSite = URLSite
  • End Sub
  • Public Function SessionClose()
  • If (IsRegister) And NbPage > 0 Then
  • RegisterSQLServer()
  • End If
  • End Function
  • Public Sub AddPageVue()
  • _NbPage = _NbPage + 1
  • End Sub
  • Protected Sub RegisterSQLServer()
  • Dim SqlStr As String = ""
  • SqlStr = "INSERT INTO AA_TRACKING ("
  • SqlStr = SqlStr & "T_IDTrack,"
  • SqlStr = SqlStr & "T_IDCook,"
  • SqlStr = SqlStr & "T_InscrNews,"
  • SqlStr = SqlStr & "T_Referant,"
  • SqlStr = SqlStr & "T_IP,"
  • SqlStr = SqlStr & "T_PartId,"
  • SqlStr = SqlStr & "T_NbPage,"
  • SqlStr = SqlStr & "T_BannerId,"
  • SqlStr = SqlStr & "T_ActionId,"
  • SqlStr = SqlStr & "T_DateOpen,"
  • SqlStr = SqlStr & "T_AddPanier,"
  • SqlStr = SqlStr & "T_IdCommande,"
  • SqlStr = SqlStr & "T_IdClient,"
  • SqlStr = SqlStr & "T_Email,"
  • SqlStr = SqlStr & "T_UseMoteur,"
  • SqlStr = SqlStr & "T_UseAcProd,"
  • SqlStr = SqlStr & "T_Cross,"
  • SqlStr = SqlStr & "T_URLSite,"
  • SqlStr = SqlStr & "T_DOMAINE,"
  • SqlStr = SqlStr & "T_promoref) VALUES ("
  • SqlStr = SqlStr & "'" & Replace(_IDTrack, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_IDCook, "'", "''") & "',"
  • SqlStr = SqlStr & _InscrNews.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_Referant, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_IP, "'", "''") & "',"
  • SqlStr = SqlStr & _PartId.ToString & ","
  • SqlStr = SqlStr & _NbPage.ToString & ","
  • SqlStr = SqlStr & _BannerId.ToString & ","
  • SqlStr = SqlStr & _ActionId.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_DateOpen, "'", "''") & "',"
  • SqlStr = SqlStr & _AddPanier.ToString & ","
  • SqlStr = SqlStr & _IdCommande.ToString & ","
  • SqlStr = SqlStr & _IdClient.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_Email, "'", "''") & "',"
  • SqlStr = SqlStr & _UseMoteur.ToString & ","
  • SqlStr = SqlStr & _UseAcProd.ToString & ","
  • SqlStr = SqlStr & _Cross.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_URLSite, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_domaine, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_promoref, "'", "''") & "')"
  • Dim NumCOM As String = ""
  • 'connectionMySQL
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Dim com As New SqlCommand(SqlStr, conn)
  • Try
  • conn.Open()
  • com.ExecuteNonQuery()
  • Catch ex As Exception
  • Finally
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Try
  • End Sub
  • Protected Sub RegisterMySQL()
  • Dim SqlStr As String = ""
  • SqlStr = "INSERT INTO AA_TRACKING ("
  • SqlStr = SqlStr & "T_IDTrack,"
  • SqlStr = SqlStr & "T_IDCook,"
  • SqlStr = SqlStr & "T_InscrNews,"
  • SqlStr = SqlStr & "T_Referant,"
  • SqlStr = SqlStr & "T_IP,"
  • SqlStr = SqlStr & "T_PartId,"
  • SqlStr = SqlStr & "T_NbPage,"
  • SqlStr = SqlStr & "T_BannerId,"
  • SqlStr = SqlStr & "T_ActionId,"
  • SqlStr = SqlStr & "T_DateOpen,"
  • SqlStr = SqlStr & "T_AddPanier,"
  • SqlStr = SqlStr & "T_IdCommande,"
  • SqlStr = SqlStr & "T_IdClient,"
  • SqlStr = SqlStr & "T_Email,"
  • SqlStr = SqlStr & "T_UseMoteur,"
  • SqlStr = SqlStr & "T_UseAcProd,"
  • SqlStr = SqlStr & "T_Cross,"
  • SqlStr = SqlStr & "T_URLSite,"
  • SqlStr = SqlStr & "T_DOMAINE,"
  • SqlStr = SqlStr & "T_promoref) VALUES ("
  • SqlStr = SqlStr & "'" & Replace(_IDTrack, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_IDCook, "'", "''") & "',"
  • SqlStr = SqlStr & _InscrNews.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_Referant, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_IP, "'", "''") & "',"
  • SqlStr = SqlStr & _PartId.ToString & ","
  • SqlStr = SqlStr & _NbPage.ToString & ","
  • SqlStr = SqlStr & _BannerId.ToString & ","
  • SqlStr = SqlStr & _ActionId.ToString & ","
  • SqlStr = SqlStr & "NOW(),"
  • SqlStr = SqlStr & _AddPanier.ToString & ","
  • SqlStr = SqlStr & _IdCommande.ToString & ","
  • SqlStr = SqlStr & _IdClient.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_Email, "'", "''") & "',"
  • SqlStr = SqlStr & _UseMoteur.ToString & ","
  • SqlStr = SqlStr & _UseAcProd.ToString & ","
  • SqlStr = SqlStr & _Cross.ToString & ","
  • SqlStr = SqlStr & "'" & Replace(_URLSite, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_domaine, "'", "''") & "',"
  • SqlStr = SqlStr & "'" & Replace(_promoref, "'", "''") & "')"
  • Dim NumCOM As String = ""
  • 'connectionMySQL
  • Dim conn As New OdbcConnection(ConfigurationSettings.AppSettings("connectionMySQL"))
  • Dim com As New OdbcCommand(SqlStr, conn)
  • Try
  • conn.Open()
  • com.ExecuteNonQuery()
  • Catch ex As Exception
  • Finally
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Try
  • End Sub
  • Public Function SessionMySQLClose()
  • If (IsRegister) Then
  • RegisterMySQL()
  • End If
  • End Function
  • Public Shared Function GetPartCom(ByVal idcom As Integer) As String
  • Dim SqlStr As String = "SELECT eBoutiks_PARTENAIRES.PART_NOM from AA_TRACKING,eBoutiks_PARTENAIRES WHERE AA_TRACKING.T_PartId = eBoutiks_PARTENAIRES.PART_ID AND AA_TRACKING.T_IdCommande=" & idcom.ToString
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Dim com As New SqlCommand(SqlStr, conn)
  • Dim result As String
  • Try
  • conn.Open()
  • result = com.ExecuteScalar
  • Catch ex As Exception
  • Finally
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Try
  • Return result
  • End Function
  • Public Shared Function UpdateCACom(ByVal TrackId As String, ByVal Montant As Decimal, ByVal IdCom As Integer)
  • Dim SqlStr As String = "UPDATE AA_TRACKING SET T_IdCommande=" & IdCom.ToString & " WHERE T_IDTrack='" & Replace(TrackId, "'", "''") & "'"
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Dim com As New SqlCommand(SqlStr, conn)
  • Try
  • conn.Open()
  • com.ExecuteNonQuery()
  • Catch ex As Exception
  • Finally
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Try
  • End Function
  • Public Shared Function GetKeyWord(ByVal AbsoluteUri As String) As String
  • ' retourne les mots clefs saisis sous GOOGLE ou MSNSEARCH à partir d'une URL
  • Dim lachaine As String = AbsoluteUri
  • Dim keyword As String = ""
  • Dim Cpt As Integer = 0
  • Dim Cpt2 As Integer = 0
  • Cpt = InStr(lachaine, "q")
  • If Cpt > 0 Then
  • lachaine = Mid(lachaine, (Cpt + 2), Len(lachaine))
  • Cpt2 = InStr(lachaine, "&")
  • If Cpt2 > 0 Then
  • keyword = Mid(lachaine, 1, (Cpt2 - 1))
  • keyword = Replace(keyword, "+", " ")
  • Else
  • keyword = lachaine
  • End If
  • End If
  • Return keyword
  • End Function
  • Public Shared Function IsRegisteTrack(ByVal IP As String) As Boolean
  • Dim StrSql As String = "SELECT count(*) FROM AA_BOT WHERE BOT_IP='" & IP & "'"
  • Dim Retour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Dim com As New SqlCommand(StrSql, conn)
  • Try
  • conn.Open()
  • Retour = com.ExecuteScalar()
  • Catch ex As Exception
  • Finally
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Try
  • If Retour > 0 Then
  • Return False
  • Else
  • Return True
  • End If
  • End Function
  • End Class
  • End Namespace
Imports System.Data.SqlClient
Imports System.Data.Odbc
Imports System.Configuration
Imports System.Web.HttpServerUtility

Namespace ecommerce

    Public Class eComTracking
        Protected _IDTrack As String
        Public ReadOnly Property IDTrack() As String
            Get
                Return _IDTrack
            End Get
        End Property
        Protected _IDCook As String = ""
        Public Property IDCook() As String
            Get
                Return _IDCook
            End Get
            Set(ByVal Value As String)
                _IDCook = Value
            End Set
        End Property
        Protected _IsRegister As Boolean = True
        Public Property IsRegister() As Boolean
            Get
                Return _IsRegister
            End Get
            Set(ByVal Value As Boolean)
                _IsRegister = Value
            End Set
        End Property
        Protected _InscrNews As Integer = 0
        Public Property InscrNews() As Integer
            Get
                Return _InscrNews
            End Get
            Set(ByVal Value As Integer)
                _InscrNews = Value
            End Set
        End Property
        Protected _Referant As String = ""
        Public Property Referant() As String
            Get
                Return _Referant
            End Get
            Set(ByVal Value As String)
                _Referant = Value
            End Set
        End Property
        Protected _IP As String = ""
        Public Property IP() As String
            Get
                Return _IP
            End Get
            Set(ByVal Value As String)
                _IP = Value
            End Set
        End Property
        Protected _PartId As Integer = 0
        Public Property PartId() As Integer
            Get
                Return _PartId
            End Get
            Set(ByVal Value As Integer)
                _PartId = Value
            End Set
        End Property
        Protected _BannerId As Integer = 0
        Public Property BannerId() As Integer
            Get
                Return _BannerId
            End Get
            Set(ByVal Value As Integer)
                _BannerId = Value
            End Set
        End Property
        Protected _ActionId As Integer = 0
        Public Property ActionId() As Integer
            Get
                Return _ActionId
            End Get
            Set(ByVal Value As Integer)
                _ActionId = Value
            End Set
        End Property
        Protected _DateOpen As Date = Now
        Public Property DateOpen() As Date
            Get
                Return _DateOpen
            End Get
            Set(ByVal Value As Date)
                _DateOpen = Value
            End Set
        End Property
        Protected _AddPanier As Integer = 0
        Public Property AddPanier() As Integer
            Get
                Return _AddPanier
            End Get
            Set(ByVal Value As Integer)
                _AddPanier = Value
            End Set
        End Property
        Protected _IdCommande As Integer = 0
        Public Property IdCommande() As Integer
            Get
                Return _IdCommande
            End Get
            Set(ByVal Value As Integer)
                _IdCommande = Value
            End Set
        End Property
        Protected _IdClient As Integer = 0
        Public Property IdClient() As Integer
            Get
                Return _IdClient
            End Get
            Set(ByVal Value As Integer)
                _IdClient = Value
            End Set
        End Property
        Protected _Email As String = ""
        Public Property Email() As String
            Get
                Return _Email
            End Get
            Set(ByVal Value As String)
                _Email = Value
            End Set
        End Property
        Protected _UseMoteur As Integer = 0
        Public Property UseMoteur() As Integer
            Get
                Return _UseMoteur
            End Get
            Set(ByVal Value As Integer)
                _UseMoteur = Value
            End Set
        End Property
        Protected _UseAcProd As Integer = 0
        Public Property UseAcProd() As Integer
            Get
                Return _UseAcProd
            End Get
            Set(ByVal Value As Integer)
                _UseAcProd = Value
            End Set
        End Property
        Protected _Cross As Integer = 0
        Public Property Cross() As Integer
            Get
                Return _Cross
            End Get
            Set(ByVal Value As Integer)
                _Cross = Value
            End Set
        End Property
        Protected _URLSite As String = ""
        Public Property URLSite() As String
            Get
                Return _URLSite
            End Get
            Set(ByVal Value As String)
                _URLSite = Value
            End Set
        End Property
        Protected _promoref As String = ""
        Public Property promoref() As String
            Get
                Return _promoref
            End Get
            Set(ByVal Value As String)
                _promoref = Value
            End Set
        End Property
        Protected _domaine As String = ""
        Public Property domaine() As String
            Get
                Return _domaine
            End Get
            Set(ByVal Value As String)
                _domaine = Value
            End Set
        End Property
        Protected _NbPage As Integer = 0
        Public Property NbPage() As Integer
            Get
                Return _NbPage
            End Get
            Set(ByVal Value As Integer)
                _NbPage = Value
            End Set
        End Property

        Public Sub New(ByVal IDTracking As String, ByVal StrReferant As String, ByVal IPuser As String, Optional ByVal URLSite As String = "euros-laser.com", Optional ByVal IsRegister As Boolean = True)
            _IDTrack = IDTracking
            Referant = StrReferant
            _IP = IPuser
            _IsRegister = IsRegister
            _URLSite = URLSite
        End Sub

        Public Function SessionClose()
            If (IsRegister) And NbPage > 0 Then
                RegisterSQLServer()
            End If
        End Function

        Public Sub AddPageVue()
            _NbPage = _NbPage + 1
        End Sub

        Protected Sub RegisterSQLServer()
            Dim SqlStr As String = ""
            SqlStr = "INSERT INTO AA_TRACKING ("
            SqlStr = SqlStr & "T_IDTrack,"
            SqlStr = SqlStr & "T_IDCook,"
            SqlStr = SqlStr & "T_InscrNews,"
            SqlStr = SqlStr & "T_Referant,"
            SqlStr = SqlStr & "T_IP,"
            SqlStr = SqlStr & "T_PartId,"
            SqlStr = SqlStr & "T_NbPage,"
            SqlStr = SqlStr & "T_BannerId,"
            SqlStr = SqlStr & "T_ActionId,"
            SqlStr = SqlStr & "T_DateOpen,"
            SqlStr = SqlStr & "T_AddPanier,"
            SqlStr = SqlStr & "T_IdCommande,"
            SqlStr = SqlStr & "T_IdClient,"
            SqlStr = SqlStr & "T_Email,"
            SqlStr = SqlStr & "T_UseMoteur,"
            SqlStr = SqlStr & "T_UseAcProd,"
            SqlStr = SqlStr & "T_Cross,"
            SqlStr = SqlStr & "T_URLSite,"
            SqlStr = SqlStr & "T_DOMAINE,"
            SqlStr = SqlStr & "T_promoref) VALUES ("
            SqlStr = SqlStr & "'" & Replace(_IDTrack, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_IDCook, "'", "''") & "',"
            SqlStr = SqlStr & _InscrNews.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_Referant, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_IP, "'", "''") & "',"
            SqlStr = SqlStr & _PartId.ToString & ","
            SqlStr = SqlStr & _NbPage.ToString & ","
            SqlStr = SqlStr & _BannerId.ToString & ","
            SqlStr = SqlStr & _ActionId.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_DateOpen, "'", "''") & "',"
            SqlStr = SqlStr & _AddPanier.ToString & ","
            SqlStr = SqlStr & _IdCommande.ToString & ","
            SqlStr = SqlStr & _IdClient.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_Email, "'", "''") & "',"
            SqlStr = SqlStr & _UseMoteur.ToString & ","
            SqlStr = SqlStr & _UseAcProd.ToString & ","
            SqlStr = SqlStr & _Cross.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_URLSite, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_domaine, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_promoref, "'", "''") & "')"
            Dim NumCOM As String = ""
            'connectionMySQL
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Dim com As New SqlCommand(SqlStr, conn)
            Try
                conn.Open()
                com.ExecuteNonQuery()
            Catch ex As Exception
            Finally
                com = Nothing
                conn.Close()
                conn = Nothing
            End Try
        End Sub

        Protected Sub RegisterMySQL()
            Dim SqlStr As String = ""
            SqlStr = "INSERT INTO AA_TRACKING ("
            SqlStr = SqlStr & "T_IDTrack,"
            SqlStr = SqlStr & "T_IDCook,"
            SqlStr = SqlStr & "T_InscrNews,"
            SqlStr = SqlStr & "T_Referant,"
            SqlStr = SqlStr & "T_IP,"
            SqlStr = SqlStr & "T_PartId,"
            SqlStr = SqlStr & "T_NbPage,"
            SqlStr = SqlStr & "T_BannerId,"
            SqlStr = SqlStr & "T_ActionId,"
            SqlStr = SqlStr & "T_DateOpen,"
            SqlStr = SqlStr & "T_AddPanier,"
            SqlStr = SqlStr & "T_IdCommande,"
            SqlStr = SqlStr & "T_IdClient,"
            SqlStr = SqlStr & "T_Email,"
            SqlStr = SqlStr & "T_UseMoteur,"
            SqlStr = SqlStr & "T_UseAcProd,"
            SqlStr = SqlStr & "T_Cross,"
            SqlStr = SqlStr & "T_URLSite,"
            SqlStr = SqlStr & "T_DOMAINE,"
            SqlStr = SqlStr & "T_promoref) VALUES ("
            SqlStr = SqlStr & "'" & Replace(_IDTrack, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_IDCook, "'", "''") & "',"
            SqlStr = SqlStr & _InscrNews.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_Referant, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_IP, "'", "''") & "',"
            SqlStr = SqlStr & _PartId.ToString & ","
            SqlStr = SqlStr & _NbPage.ToString & ","
            SqlStr = SqlStr & _BannerId.ToString & ","
            SqlStr = SqlStr & _ActionId.ToString & ","
            SqlStr = SqlStr & "NOW(),"
            SqlStr = SqlStr & _AddPanier.ToString & ","
            SqlStr = SqlStr & _IdCommande.ToString & ","
            SqlStr = SqlStr & _IdClient.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_Email, "'", "''") & "',"
            SqlStr = SqlStr & _UseMoteur.ToString & ","
            SqlStr = SqlStr & _UseAcProd.ToString & ","
            SqlStr = SqlStr & _Cross.ToString & ","
            SqlStr = SqlStr & "'" & Replace(_URLSite, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_domaine, "'", "''") & "',"
            SqlStr = SqlStr & "'" & Replace(_promoref, "'", "''") & "')"
            Dim NumCOM As String = ""
            'connectionMySQL
            Dim conn As New OdbcConnection(ConfigurationSettings.AppSettings("connectionMySQL"))
            Dim com As New OdbcCommand(SqlStr, conn)
            Try
                conn.Open()
                com.ExecuteNonQuery()
            Catch ex As Exception
            Finally
                com = Nothing
                conn.Close()
                conn = Nothing
            End Try
        End Sub

        Public Function SessionMySQLClose()
            If (IsRegister) Then
                RegisterMySQL()
            End If
        End Function

        Public Shared Function GetPartCom(ByVal idcom As Integer) As String
            Dim SqlStr As String = "SELECT eBoutiks_PARTENAIRES.PART_NOM from AA_TRACKING,eBoutiks_PARTENAIRES WHERE AA_TRACKING.T_PartId = eBoutiks_PARTENAIRES.PART_ID AND AA_TRACKING.T_IdCommande=" & idcom.ToString
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Dim com As New SqlCommand(SqlStr, conn)
            Dim result As String
            Try
                conn.Open()
                result = com.ExecuteScalar
            Catch ex As Exception
            Finally
                com = Nothing
                conn.Close()
                conn = Nothing
            End Try
            Return result
        End Function

        Public Shared Function UpdateCACom(ByVal TrackId As String, ByVal Montant As Decimal, ByVal IdCom As Integer)
            Dim SqlStr As String = "UPDATE AA_TRACKING SET T_IdCommande=" & IdCom.ToString & " WHERE T_IDTrack='" & Replace(TrackId, "'", "''") & "'"
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Dim com As New SqlCommand(SqlStr, conn)
            Try
                conn.Open()
                com.ExecuteNonQuery()
            Catch ex As Exception
            Finally
                com = Nothing
                conn.Close()
                conn = Nothing
            End Try
        End Function

        Public Shared Function GetKeyWord(ByVal AbsoluteUri As String) As String
            ' retourne les mots clefs saisis sous GOOGLE ou MSNSEARCH à partir d'une URL
            Dim lachaine As String = AbsoluteUri
            Dim keyword As String = ""
            Dim Cpt As Integer = 0
            Dim Cpt2 As Integer = 0
            Cpt = InStr(lachaine, "q")
            If Cpt > 0 Then
                lachaine = Mid(lachaine, (Cpt + 2), Len(lachaine))
                Cpt2 = InStr(lachaine, "&")
                If Cpt2 > 0 Then
                    keyword = Mid(lachaine, 1, (Cpt2 - 1))
                    keyword = Replace(keyword, "+", " ")
                Else
                    keyword = lachaine
                End If
            End If
            Return keyword
        End Function

        Public Shared Function IsRegisteTrack(ByVal IP As String) As Boolean
            Dim StrSql As String = "SELECT count(*) FROM AA_BOT WHERE BOT_IP='" & IP & "'"
            Dim Retour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Dim com As New SqlCommand(StrSql, conn)
            Try
                conn.Open()
                Retour = com.ExecuteScalar()
            Catch ex As Exception
            Finally
                com = Nothing
                conn.Close()
                conn = Nothing
            End Try
            If Retour > 0 Then
                Return False
            Else
                Return True
            End If
        End Function

    End Class
End Namespace

Conclusion

Bon Code !
 

Commentaires et avis

signaler à un administrateur
Commentaire de lordskyser1 le 09/05/2005 19:00:08

Bonjour, juste une question toute bête, mais c'est quoi le tracking au juste? merci, au revoir

signaler à un administrateur
Commentaire de vladam le 10/05/2005 09:49:56 administrateur CS

Le Tracking pour un site de eCommerce, c'est primordial, dans le principe c'est assez simple.
Tu initialise cet objet à l'overture de session, et tu le sérialise à la fermeture de session.
tout au long de la navigation de l'internaute, tu utilises les propriétés de cet objet pour indiquer si l'utilisateur s'est inscrit à la newsletter, s'il a mis un article dans son panier, s'il est déjà venu sur le site etc ........

Cela permet d'analyser le fonctionnement du site, et de détecter les problèmes éventuels du site.

par exemple :
Tu contacte dans la Table de tracking, que 75% des internautes quittent le site après avoir ajouté un article au panier, mais qu'il ne passe jamais par la validation de commande ... Conclusion :
Soit tu as un bug sur le process de validation, Soit ton interface est trop compliqué, et les internautes ne trouvent pas comment valider leur commande.

dans un site commerçant, c'est une chose primordial.

signaler à un administrateur
Commentaire de lordskyser1 le 10/05/2005 18:00:19

ok, merci d'avoir pris le temps d'éclairer ma lanterne. C'est clair que cette solution est nettement plus sûre qu'un cookie et permet de POOisé l'application au maximum, bref c'est cool, je regarderé çà de plus près quand j'aurais le temps d'étudier asp.net et vb.net car pour l'instant je dois encore approfondir les connaissances que j'ai déjà acquises en C#. A ++

signaler à un administrateur
Commentaire de vladam le 10/05/2005 20:42:00 administrateur CS

la migration de cet objet de VB.NET à C# sera aisée, c'est c'est purement de l'objet, il faudra simplement changer la syntaxe.

signaler à un administrateur
Commentaire de lordskyser1 le 11/05/2005 07:27:06

ok. Par contre je ne peux pas télécharger la source, çà me marque que le zip est introuvable

signaler à un administrateur
Commentaire de vladam le 11/05/2005 10:40:53 administrateur CS

la source s'affiche directement dans la page au cas ou. pour le zip, je ne sais pas pourquoi il est introuvable

signaler à un administrateur
Commentaire de Baobab2005 le 11/10/2005 00:05:28

une fois que j'ai le code qu'est ce que je fais apres? Que dois-je rajouter sur chaque page que je veux tracker?

signaler à un administrateur
Commentaire de vladam le 11/10/2005 09:35:15 administrateur CS

et bien c'est simple, tu utilise les property pour indiquer ce que fait l'internaute, par exemple tu place AddPanier à 1 si l'internaute ajoute un article au panier, tu place InscrNews à 1 si l'internaute réalise une inscription à la newsletter, etc...
tu pourras ainsi sortir des statistiques précises sur les actions des internautes sur ton site

signaler à un administrateur
Commentaire de fantomas62 le 24/02/2006 21:47:39

Interessant comme code.
Sinon, j'ai peut être une petite amélioration.
Ne serait-il pas mieux d'utiliser des StringBuilder au lieux de faire des longues suites de
concatenation de chaines?
Ainsi la machine virtuelle n'allouerait que ce qu'elle a besoin au fur et à mesure,
sans desallocation, pas comme dans chaine1 = chaine1 & "toto".
Quelqu'un pourrait-il confirmer ce que je dis?(je n'en suis pas sure à 100%)

Cordialement

signaler à un administrateur
Commentaire de k_wa le 12/10/2006 13:35:39

totalement correct fantomas62

signaler à un administrateur
Commentaire de vladam le 11/08/2007 15:02:51 administrateur CS

le mieux n'est pas le stringbuilder pour ces requêtes. Le mieux est d'utiliser des paramètres typés (ex: SqlParameters). cela protège du SQL-Injection, tout en restant très performant.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

asp sql [ par moriny ] Nous sommes en train de migrer des sites d'un serveur à un autre Il est sur linux avec Redhat pour administration Le PHP et Mysql est install&#23 Heritage d'une class Abstract [ par kowalska ] Bonjour à tous, Je suis actuellement perdu sur un souci de class Voici le code de la 1er class public abstract class DbFactory<T> {     protecte livre asp net ecommerce [ par lavieille ] j'aimerais trouver un livre simple pour débutant qui permette de construire pas à pas un site e commerce depuis la base de donnée sql jusqu'au mail de Récupération de donnée sur serveur MYSQL [ par Zouko ] Bonjour,J'ai besoin dans le cadre d'un projet, de récupérer des donnée sur un serveur disatant(sous mysql) et les rapatrier dans une autre base(SQL se connexion a une base de donnee mysql [ par mmahdouch24 ] salut,j'arrive pas a me connecter a ma base de donnee mysql j'ai crée uj schema intitulé "admission" et ma table "administrateur" voici mon code :< structure bdd sql server [ par jeueduc ] est ce que quelqu'un pourrait me dire s'il est possible de récupérer la structure d'une bdd sql server (comme avec mysql!!) car je dois faire une migr Requete SQl en Asp.net [ par kenzo080 ] Bonjour,Je cherche realise la requete suivante:string SQL="SELECT Id_Type,Name_Type,Adresse_Type FROM TbType";Cette requete me retourne un resultat po mise à jour champ date sur access par update (SQL) [ par caussieu ] Bonjour,Voici le code utilisé pour mettre à jour la base de données Access sous ASP / SQL : sql = "Update animations Set animation='"&animation&"', li Problème de paramètres [ par klem14 ] SalutA partir d'une table dont le nombre de ligne est suceptible de changer à tout moment, je génère le pseudo formulairesuivant: SQL="select * from o ASP SQL SERVEUR [ par melsa ] melsabonjour, je fais de l'asp depuis 3 semaines et dejà un problemeje n'arrive pas à afficher des valeurs dans un text boxl'utilisateur saisi un code


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.