hello,
On peut le faire avec ExecuteDirect. Exemple :
Code:
1
2
3
4
5
6
7
8
9
10
11 SQLite3Connection1.ExecuteDirect( 'CREATE TABLE DeadlyMushrooms '+LineEnding+ '-- This table created by Jurassic Pork '+LineEnding+ '-- for Free Pascal Lazarus '+LineEnding+ '-- Create date:2013-08-05 23:55:09 '+LineEnding+ '( '+LineEnding+ ' ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, '+LineEnding+ ' Scientific_Name VARCHAR NOT NULL, '+LineEnding+ ' Common_Name VARCHAR, '+LineEnding+ ' `Order` VARCHAR, `Genus` VARCHAR, `Notes` TEXT, `Picture` BLOB, `Image_Link` VARCHAR)' );
Cela dépend comment a été stocké la date dans la base de données mais il faut certainement que le format soit le même pour toutes les dates présentes dans la base de données.Citation:
Question subsidiaire : dans un programme Lazarus, dois-tu utiliser le format "1987-06-20" dans une requête sql ? Ou "select ... where hire_date = 11/12/2020" renvoie-t-il l'enregistrement 102 (Lex de Haan) ?
Avec TSQLite3Connection , il semblerait que les dates rentrées dans Lazarus soit en format double.
[EDIT] ce genre de requête :
fonctionne pour des dates stockées en double ou en chaîne mais pas en entier.Code:
1
2 select * from employees where strftime('%Y-%m-%d', hire_date) = date('2020-05-18')
Ami calmant, J.P