0

Oracle 9i et ADO.Net

oracle9i_s

Comment se connecter à une base de donnée oracle 9i, afficher les données dans un datagrid, un listview,

ajouter, modifier, supprimer un enregistrement,

 

Connection à la base de donnée

'chaine de connection à modifier avec vos valeurs
Dim oradb As String ="DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) _
(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)=
(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;"

'affectation de la chaine de connection et ouverture de la connection
Dim conn As New OracleConnection(oradb)
conn.ConnectionString = oradb
conn.Open()

'définition de la requete sql
Dim sql as string = "SELECT * from NOMDEMATABLE"

Dim MonDataSet As New DataSet
Dim MonAdapter As OracleDataAdapter

'Mon adapter recupere les données de ma requete
'ici sql est ta requete sql et conn est ta connetion oracle
MonAdapter = New OraclelDataAdapter(sql, conn) 

'que j'insere dans mon dataset pour un acces facile
MonAdapter.Fill(MonDataSet,"Nomdematable")

conn.Dispose()

Affichage des données dans un DataGrid ou un DataGridView

Lecture des données dans Datagrid ou Datagridview
'definition d'un Datatable
Dim Matable As DataTable
Matable = MonDataSet.Tables(latablealire)
'pour un datagrid 
DataGrid1.DataSource = Matable
'pour un datagridview
'DataGridView1.DataSource = Matable

Affichage des données dans un listbox

'definition d'un Datatable
Dim Matable As DataTable
Matable = MonDataSet.Tables(latablealire)

'remplissage de la liste , ligne à ligne
Dim Ligne As System.Data.DataRow
For Each ligne In Matable.Rows
   Liste.Items.Add(ligne.Item("Nomduchamp"))
Next

Supprimer un enregistrement

La première chose à faire est de  récupérer l’enregistrement que l’on doit supprimer :

A partir d’un dataGridView :

'recupere l'enregistrement que l'on doit supprimer à partir d'un datagridview
 'à partir de la ligne qui est selectionné colonne 0
Dim ClePrimaire As String
ClePrimaire = Me.DataGridView1.CurrentRow.Cells(0).Value

A partir d’un dataGrid

'quelle ligne doit t'on supprimer
Dim ligneencours As Integer
ligneencours = DataGrid1.CurrentRowIndex

'recuperation de l'id de l'enregistrement , ligne sélectionné, colonne 0
Dim ClePrimaire As String
ClePrimaire = DataGrid1.Item(ligneencours, 0)

On à maintenant le numero de l’enregistrement à supprimer dans la variable ClePrimaire, on va donc envoyer la requete de suppression

conn.Open()

'debut de la transaction
Try
   trans = conn.BeginTransaction()
   Dim sql = " Delete from NOMTABLE where CHAMPCLEPRIMAIRE = " & ClePrimaire & ";"
   Dim cmd As New OracleCommand(sql, conn)
   cmd.Transaction = trans

   'Exécution de la requête
   cmd.ExecuteNonQuery()
   'On soumet la requête au serveur: tout s'est bien déroulé , la requête est exécutée
   trans.Commit()

   MessageBox.Show("suppression effectuée avec succès");

Catch ex As Exception ' intercepte toutes les erreurs

   MessageBox.Show("suppression non effectué " & " " & ex.Message.ToString())
   'Une erreur est survenue: on ne valide pas la requête
   trans.Rollback()

finally

   'Libération des resources
   cmd.Dispose()
   conn.Dispose()

end Try

You must be logged in to post a comment.