Hi, danke nochmals sir Rufo,
hier meine Lösung: (hatte deinen letzten post noch nicht gelesen..)
Code:
dbC.Open; //Datenbank Erstellen falls nicht vorhanden.
// erstelle Tabelle **User** falls nicht vorhanden
dbQ.SQL.Text:='CREATE TABLE if not exists ''user'' (id varchar(36) primary key, name varchar(20) unique, pw varchar(100), rights Integer)';
dbQ.ExecSQL; dbT.Commit;
dbQ.Close;
//erstelle spalte name falls nicht vorhanden
dbQ.SQL.Text:='PRAGMA table_info (''user'')';
dbQ.Open;
if not dbQ.Locate('name','name',[]) then
begin
dbQ.SQL.Text:='ALTER TABLE user ADD COLUMN name varchar(20)';
dbQ.ExecSQL; dbT.Commit;
dbQ.SQL .Text:='CREATE unique INDEX iusername ON user (name)';
dbQ.ExecSQL; dbT.Commit;
end;
dbQ.Close;
//erstelle spalte pw falls nicht vorhanden
dbQ.SQL.Text:='PRAGMA table_info (''user'')';
dbQ.Open;
if not dbQ.Locate('name','pw',[]) then
begin
dbQ.SQL.Text:='ALTER TABLE user ADD COLUMN pw varchar(100)';
dbQ.ExecSQL; dbT.Commit;
end;
dbQ.Close;
//erstelle spalte rights falls nicht vorhanden
dbQ.SQL.Text:='PRAGMA table_info (''user'')';
dbQ.Open;
if not dbQ.Locate('name','rights',[]) then
begin
dbQ.SQL.Text:='ALTER TABLE user ADD COLUMN rights Integer';
dbQ.ExecSQL; dbT.Commit;
end;
dbQ.Close;
Hoffe das hilft jenem der das selbe Problem hat.
Dieser Code produziert exakt die Tabellen die ich brauch, bzw. sorgt dafür das nei ein der spalten fehlt.
Trotzdem vieleb dan kan sir Rufo für seine hilfe.