Insert base Oracle, champ auto incrémenté et récupération valeur listbox
Bonjour,
je cherche à faire un ajout de ligne dans ma base de données.
J'ai donc pour cela une commande Insert :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
Try
Dim majIdUtilisateur As Integer
Dim conn As New OracleConnection()
conn.ConnectionString = oradb
conn.Open()
Dim requeteInsertClt As String
requeteInsertClt = "INSERT INTO Utilisateur VALUES ('" & majIdUtilisateur & "', '" & txtNomEleve.Text & "','" & txtPrenomEleve.Text & "', '" & lbNomClasse.SelectedIndex.ToString & "', '" & lbNomProf.SelectedIndex.ToString & "', '" & txtDaigl.Text & "','" & txtAlsi.Text & "', '" & txtReseau.Text & "', '" & txtGeosi.Text & "')"
Dim command As New OracleClient.OracleCommand(requeteInsertClt)
command.Connection = conn
command.ExecuteNonQuery()
MessageBox.Show("L'enregistrement de l'élève " & txtNomEleve.Text & " " & txtPrenomEleve.Text & " en classe " & lbNomClasse.SelectedValue & Environment.NewLine & " avec comme prof principal Mr/Mme " & lbNomProf.SelectedValue & " a été éffectué")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub |
La requête est censée enregistrer :
1 id (le champ auto-incrémenté), le nom, le prénom, le nom de la classe (récupéré de lbNomClasse), le nom du prof (récupéré de lbNomProf) ainsi que les 4 notes.
J'ai 2 problèmes :
- le numéro auto-incrémenté : je ne sais pas comment le gérer dans la requête sous-vb. J'ai crée la séquence et le trigger pour l'auto incrémentation pour les enregistrements directement depuis la base mais je ne sais pas comment l'utiliser depuis vb.net .
- le nom de la classe et le nom du prof : avec ma méthode, il récupère le numéro de la ligne de la listbox et non pas le nom, ce qui provoque une erreur étant donné que dans ma table, les classes ont comme clé primaire leur nom.
Si vous avez des idées, conseils, ...
Merci !