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 :
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
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 :
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 !
Partager