Bonjour à tous,

J’ai bloque sur mes requêtes paramétrées, elles sont exécutées, mais au lieu d'avoir mes paramètres remplacés par les valeurs, j'ai le nom des paramètres tel quel enregistrer sur ma base de donnée Access

Voici la requête simple d'exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SQL_INSERT = "INSERT INTO Entreprise(IdEntreprise) VALUES ('@IdEntreprise')"
Au lieu d'ajouter les valeurs paramétrés, ce sont les noms des paramètres qui sont ajoutés.

Voici ma procédure d'ajout

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Public Shared Sub inserer(ByVal uneentreprise As entreprise)
        Dim cmd As Odbc.OdbcCommand = Nothing
        Try
            cmd = AccesBase.seConnecter().CreateCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = SQL_INSERT
            'charger les paramètres de la commande
            chargerParametres(uneentreprise, cmd)
            'executer la commande
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            Throw ex
        Finally
            AccesBase.seDeconnecter(cmd.Connection)
        End Try
    End Sub
Qui appel cette méthode pour remplacer les paramètres :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
    Private Shared Sub chargerParametres(ByVal uneentreprise As entreprise, ByRef laCommande As OdbcCommand)
        'creer un objet parametre
        Dim unParam As Odbc.OdbcParameter
 
 
        unParam = laCommande.CreateParameter()
        unParam.ParameterName = "@IdEntreprise"
        unParam.DbType = DbType.Guid
        unParam.Size = 16
        unParam.Direction = ParameterDirection.Input
        unParam.Value = uneentreprise.IdEntreprise
 
        laCommande.Parameters.Add(unParam)
Donc au lieu d'ajouter l'identifiant genre 123456789 il va m'enregistrer le texte : @IdEntreprise

Quelqu'un à une idée d'où je me plante ?

D'avance merci !