OVH Cloud OVH Cloud

insertion dans une table

1 réponse
Avatar
tijani sellami
Bonjour,
Est ce que qq peut m'aider pour résoudre cette erreur: ORA-01036: numéro/nom
de variable illégal .
Mon code source est le suivant:

Dim InsertCmd As String = "insert into TARIF (ID_TARIF) values(@IDT)"
MyCommand = New OracleCommand(InsertCmd, MyConnection)

MyCommand.Parameters.Add(New OracleParameter("@IDT",
System.Data.OracleClient.OracleType.Number, 10))
MyCommand.Parameters("@IDT").Value = id_tarif.Value
MyCommand.Connection.Open()

Try
MyCommand.ExecuteNonQuery()
Label1.Text = "Enregistrement ajouté: " & InsertCmd.ToString()

Catch Exp As OracleException
Label1.Text = Exp.Message

End Try

MyCommand.Connection.Close()

j'ai remplacé les @ par des ID, ça marche mais dans la table je trouve le
champs "ID_TARIF" ;contient une valeur séquentielle et non pas la valeur
envoyée????

1 réponse

Avatar
Gilles TOURREAU
Le Wed, 31 Jan 2007 12:24:00 +0100, tijani sellami
a écrit:

Bonjour,
Est ce que qq peut m'aider pour résoudre cette erreur: ORA-01036:
numéro/nom
de variable illégal .
Mon code source est le suivant:

Dim InsertCmd As String = "insert into TARIF (ID_TARIF) values(@IDT)"
MyCommand = New OracleCommand(InsertCmd, MyConnection)

MyCommand.Parameters.Add(New OracleParameter("@IDT",
System.Data.OracleClient.OracleType.Number, 10))
MyCommand.Parameters("@IDT").Value = id_tarif.Value
MyCommand.Connection.Open()

Try
MyCommand.ExecuteNonQuery()
Label1.Text = "Enregistrement ajouté: " &
InsertCmd.ToString()

Catch Exp As OracleException
Label1.Text = Exp.Message

End Try

MyCommand.Connection.Close()

j'ai remplacé les @ par des ID, ça marche mais dans la table je trouve le
champs "ID_TARIF" ;contient une valeur séquentielle et non pas la valeur
envoyée????




Je ne suis pas spécialiste Oracle mais il me semble (comme en PHP) que les
paramètres des requêtes Oracle doivent être passés avec les ":"...

Pour votre cas la requête devrait être : "insert into TARIF (ID_TARIF)
values(:IDT)"

Aussi il me semble que la ligne suivante :
MyCommand.Parameters.Add(New OracleParameter("@IDT",...

devrait s'écrire ainsi :
MyCommand.Parameters.Add(New OracleParameter("IDT",...

Cordialement

--
Gilles TOURREAU
Responsable Informatique


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr