Witam,
Próbuję w SQLite użyć AUTOINCREMENT
, ale ciągle wywala mi błąd i nie wiem za bardzo jaka jest przyczyna.
procedure TForm1.FormCreate(Sender: TObject);
begin
SQLiteBaza := nil;
_PATH := ExtractFilePath(Application.ExeName);
if not FileExists(_PATH + 'baza.dat') then
begin
SQLiteBaza := TSQLiteDataBase.Create(_PATH + 'baza.dat');
SQLIteBaza.ExecSQL('CREATE TABLE test (ID INTEGER PRIMARY KEY AUTOINCREMENT, wykonawca STRING, album STRING, rok VAR, gatunek STRING)');
end
else
SQLiteBaza := TSQLiteDataBase.Create(_PATH + 'baza.dat');
end;
Później mam taką procedurę, którą wykonuję w OnClicku buttona
procedure TMainForm.AddToDatabase;
Begin
SQLiteBaza.ExecSQL('INSERT INTO test VALUES("'
+ ArtistEdit.Text + '", "'
+ AlbumEdit.Text + '", "'
+ YearEdit.Text + '", "'
+ GenreBox.Text + '", "'
+ '")');
end;
Wszystko ładnie się zapisuje tylko, że chciałbym, żeby automatycznie uzupełniało mi kolumnę ID. Próbowałem też wpisywać nazwy kolumn po nazwie tabeli, ale wtedy pokazuje, że jest za mało kolumn. To pewnie jakiś prosty problem, ale może ktoś będzie chętny :)
Dodam, że tu w dokumentacji SQLite napisano, że automatycznie powinno dodawać wartość, ale u mnie tego nie robi dlatego chciałem spróbować z AUTOINCREMENT