Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > SQLite
SQLite Forum d'entraide SQLite
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2007, 18h39   #1
Invité de passage
 
Inscription : mars 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 4
Points : 3
Points : 3
Par défaut Pb Sqlite sous VB2005

Bonjour

Je suis débutant total en VB2005 (j'ai téléchargé VB2005 express), et je cherche désespérément à utiliser une base sqlite pour un de mes programmes que je porte de sous linux.

Une personne avait déjà lancé ce sujet sur ce forum, avec pour réponses :
Citation:
Peut-être un début de réponse?

http://www.freevbcode.com/ShowCode.asp?ID=6893
Ce truc marche très bien sous VB6 avec AGS_SQLite.dll , mais pas sous VB2005...

Citation:
Pour ma part j'utilise le provider ADO.Net System.Data.SQLite :
http://sqlite.phxsoftware.com/
Va faire un tour sur ce site, tu devrais y trouver ce dont tu as besoin pour démarrer.

Le provider te permet d'accéder à ta base de données SQLite depuis ton application .Net 2.0, que ce soit en VB2005 ou en C#.
Je suis allé sur ce site, mais en tant que parfait débutant sans exemple concret je suis incapable d'utiliser ce truc, je ne sais même pas quel fichier télécharger exactement, comment insérer dans un projet, ...

Est-ce que l'un d'entre vous qui arrive à faire marcher sqlite sous VB2005 pourrait avoir la bonté de faire un mini projet d'exemple (juste un truc qui se connecte à un fichier de BDD sqlite, fait une requête et affiche dans un tableau par exemple) qui marche pour que je comprenne ?

Sniff, ça fait depuis hier que je me prends la tête pour essayer de faire marcher ça...

J'espère que quelqu'un acceptera de prendre 5 minutes pour me permettre d'y arriver (en échange je peux vous filez le code pour faire ça sous gambas sous linux, c'est tout simple )

Merci d'avance...

PS : j'ai mis ma base de données en fichier joint si vous voulez essayer avec... (c'est pour un dictionnaire français-espéranto que je suis en train de faire)
Fichiers attachés
Type de fichier : zip testsebeto.zip (93,9 Ko, 8 affichages)
sebeto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2007, 19h02   #2
Invité de passage
 
Inscription : mars 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 4
Points : 3
Points : 3
Par défaut Solution

Bon, j'ai fini par y arriver :

Il faut donc installer le provider ADO.Net System.Data.SQLite : http://sqlite.phxsoftware.com/

Créer un nouveau projet, dans les ressources mettre Sytem.Data.SQLite.

Après bah modifiez votre form comme vous voulez, ...

La fonction suivante (que j'ai placée dans le module ModBDD) permet alors d'effectuer une requête dans ma BDD (nommée sebeto.db, placée dans le répertoire de l'exécutable) :

Citation:
Imports System.Data.SQLite

Module ModBDD
Public Function remplit(ByVal req As String) As Integer
Dim connectString As String
Dim connexion As SQLiteConnection
Dim requete As SQLiteCommand
Dim resultat As SQLiteDataReader
Dim ligne As Object() = Nothing
Dim j As Integer = 0
Dim i As Integer = 0
Try
connectString = "data source=" & My.Application.Info.DirectoryPath.ToString & "\sebeto.db"
connexion = New SQLiteConnection(connectString)
connexion.Open()
requete = New SQLiteCommand(req, connexion)
resultat = requete.ExecuteReader
While resultat.Read
If ligne Is Nothing Then
ligne = New Object(resultat.FieldCount) {}
End If
i = 0
Form1.DataGridView1.Rows.Add()
resultat.GetValues(ligne)
While i < ligne.GetLength(0)
If Not ligne(i) Is Nothing AndAlso Not (ligne(i) Is DBNull.Value) Then
Form1.DataGridView1(i, j).Value = ligne(i).ToString()
End If
If i < ligne.GetUpperBound(0) Then
End If
i = i + 1
End While
j = j + 1
End While
resultat.Close()
connexion.Close()
Return j
Catch prob As Exception
Form1.Label1.Text = prob.ToString()
End Try
End Function
End Module
Par contre c'est méga long si on fait une grosse requête (genre qui renvoit 500 enregistrements) pour afficher dans le DataGridView...

Je me doute qu'il faut mieux faire avec un DataBase ou je ne sais quoi, mais je ne sais pas m'en servir...

Quelqu'un pourrait-il me dire comment adapter le code ci-dessus ? Merci !
sebeto est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h56.


 
 
 
 
Partenaires

Hébergement Web