SQLite et Delphi [Résolu]

Signaler
Messages postés
287
Date d'inscription
lundi 18 janvier 2016
Statut
Membre
Dernière intervention
14 février 2018
-
Messages postés
287
Date d'inscription
lundi 18 janvier 2016
Statut
Membre
Dernière intervention
14 février 2018
-
Bonjour,

Je viens une fois de plus solliciter de l'aide.
J'ai un développement à faire convertir une base de données SQLite en SQL.
Or, je n'ai jamais utilisé SQLite avant aujourd'hui. J'aimerai donc avoir un petit peu d'aide pour utiliser la base SQLite sous Delphi.

Aprés quelques recherches, j'ai trouvé un projet SQLite4Delphi, mais je n'arrive pas à l'utiliser. Lorsque j'utilise cette source, avec la base test, un fichier vierge est créé. Je ne sais pas à quoi il sert. Ensuite, lorsque je modifie la base pour mettre celle que je veux utiliser, l'application me retourne directement une violation d'accès.

Ma base de données n'est pas au format .db mais au format .sqlite

Toute aide me sera d'une grande utilité. Cordialement.
A voir également:

1 réponse

Messages postés
287
Date d'inscription
lundi 18 janvier 2016
Statut
Membre
Dernière intervention
14 février 2018
2
procedure TForm_Main.Button_DB_CreateClick(Sender: TObject);
var
DB: TSQLite3Database;
Stmt: TSQLite3Statement;

begin
// Delete database if it already exists
DeleteFile('artists.db');

// Create database and fill it with example data
Screen.Cursor := crHourGlass;
DB := TSQLite3Database.Create;
try
DB.Open('Ucermou32B.db');

ShowMessage('Database Connected.');
finally
DB.Free;
Screen.Cursor := crDefault;
end;
end;

procedure TForm_Main.Button_DB_ReadClick(Sender: TObject);
var
DB: TSQLite3Database;
Stmt_Artists,
Stmt_Paintings: TSQLite3Statement;
begin
if not FileExists('Ucermou32B.db') then
begin
ShowMessage('The database does not exist. Please create one.');
Exit;
end;

DB := TSQLite3Database.Create;
try
DB.Open('Ucermou32B.db');

Stmt_Artists := DB.Prepare('SELECT ID, DateCouleeTxt, NbEvents FROM Moules ORDER BY ID');

try
while Stmt_Artists.Step = SQLITE_ROW do
begin
Memo_Result.Lines.Add(Stmt_Artists.ColumnText(0));
Memo_Result.Lines.Add(Stmt_Artists.ColumnText(1));
Memo_Result.Lines.Add(Stmt_Artists.ColumnText(2));
Memo_Result.Lines.Add('');
end;
finally
Stmt_Paintings.Free;
Stmt_Artists.Free;
end;
finally
DB.Free;
end;

// Add separator
Memo_Result.Lines.Add('------------------------------------------------');
Memo_Result.Lines.Add('');
end;


Pour ceux qui auraient la même difficulté que moi, voici un petit bout de code permettant de se connecter à la base de données (.db ici) et permet une lecture des différents éléments présents dans la base de données ( Ici seulement 3 champs de la table sont sélectionnés..

Cordialement.