SQLite et Delphi

Résolu
vico8000 Messages postés 287 Date d'inscription lundi 18 janvier 2016 Statut Membre Dernière intervention 14 février 2018 - Modifié par vico8000 le 1/07/2016 à 07:52
vico8000 Messages postés 287 Date d'inscription lundi 18 janvier 2016 Statut Membre Dernière intervention 14 février 2018 - 11 juil. 2016 à 14:10
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.

1 réponse

vico8000 Messages postés 287 Date d'inscription lundi 18 janvier 2016 Statut Membre Dernière intervention 14 février 2018 2
11 juil. 2016 à 14:10
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.
1
Rejoignez-nous