kiro40 | Bonjour,
Je bloque depuis quelques temps sur un projet personnel, j'aimerai en effet développer une interface sous VB pour gérer ma collection de mangas. ( nom, ,numéro tome, édition, ... ).
Je pense avoir réussi à créer une connexion à ma base de données Access sans soucis.
Le problème survient lorsque j'essaye de récupérer le résultat de ma requête, je me retrouve régulièrement avec un "nothing" entrainant un blocage du programme.
Je souhaiterai trouver enfaite un équivalent au "fetchall "( en python avcec mysql ) pour ensuite parcourir la collection ( chaque ligne du résultat ) pour l'afficher par exemple.
J'ai compris qu'il était nécessaire d'utiliser l'OLEDB étant donné que la base est ACCESS. Pour obtenir un resultat semblable au fetchall, il serait nécessaire de passer par un adaptateur ?
Je ne vois vraiment pas comment l'utiliser.
Code :
- Imports System
- Imports System.Data
- Imports System.Data.OleDb
- Imports System.Data.SqlClient
- Public Class FrmGestMangas
- Public MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data source=C:\Users\Kevin\Documents\Gestion_Perso\BDD\Mangas\BDD_Mangas.accdb" )
- Public MyCommand As OleDbCommand = MyConnexion.CreateCommand()
- Public Myadaptateur As OleDbDataAdapter
- Public RequeteGlobal As String
- Public mondataset As New DataSet
- Public monview As New DataView
- Public TypeRequete, TypeRequete2, StandardRequete As String
- Public code As Int16
-
- Private Sub FrmGestMangas_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- For x = 0 To 100
- CboxDu.Items.Add(x)
- CboxAu.Items.Add(x)
- Next
- CboxDu.SelectedItem = 1
- OptBtnUnique.Select()
- End Sub
- Private Sub BtnValidation_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnValidation.Click
- Try
- MyConnexion.Open()
- Catch ex As Exception
- MessageBox.Show("Failed to connect to data source" )
- Finally
- MsgBox("ok" )
- If code = 1 Then
- Try
- MyCommand.CommandType = System.Data.CommandType.Text
- MyCommand.CommandText() = RequeteGlobal
- MyCommand.ExecuteNonQuery()
- Myadaptateur.SelectCommand = MyCommand
- Myadaptateur.Fill(mondataset, "MangasBDD" )
- Catch ex As Exception
- Console.WriteLine(ex.Message)
- End Try
- ' Je bloque à cette ligne là, j'ai essaye " rows" à la place du select mais rien a faire.
- For Each Ligne As DataRow In mondataset.Tables("MangasBDD" ).Select
- Console.WriteLine(Ligne("Nom" ).ToString & " - " & Ligne("NumeroTome" ).ToString)
- Next
- End If
- MyCommand.Dispose()
- MyConnexion.Close()
- End Try
- MsgBox("ok" )
- End Sub
- Private Sub BtnRecherche_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRecherche.Click
- StandardRequete = IIf(TextBoxRecherche.Text <> "Recherche", TextBoxRecherche.Text & "= Nom", "" ) & "AND " & IIf(TextBoxEd.Text <> "Recherche", TextBoxEd.Text & "= Edition", "" ) & "AND"
- StandardRequete = StandardRequete & IIf(OptBtnSerie.Checked = True, CboxDu.SelectedItem & ">= NumeroTome AND " & CboxAu.SelectedItem & "<=NumeroTome", CboxDu.SelectedItem & "= NumeroTome" )
- TypeRequete = "Select * "
- TypeRequete2 = "FROM MangasBDD WHERE"
- code = 1
- RequeteGlobal = TypeRequete & TypeRequete2 & StandardRequete
- RequeteGlobal = "Select * from MangasBDD "
- End Sub
- End Class
|
Je vous remercie d'avance pour votre lecture et aide !
---------------
"Nous ne devons jamais verser de larmes. Les larmes ne sont rien d'autre que la défaite du corps sur le cœur. Elles constituent la preuve que garder un cœur ne sert à rien d'autre qu'à s'affaiblir"
|