我在Delphi上遇到了一個問題,我創建了一個簡單的應用程序來測試RadStudio的移動功能,我創建了一個簡單的應用程序,將一些數據放入一些輸入然後將其添加到數據庫當按鈕被點擊時。我跟着this Embarcadero tutorial作爲起點在Android上的SQLite插入只能工作一次
問題是我只添加一個條目,然後沒有更多的條目被添加或列表不刷新。下面的一些代碼:
創建表:
procedure TTabbedForm.logAfterConnect(Sender: TObject);
begin
log.ExecuteDirect('CREATE TABLE IF NOT EXISTS lista (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,idCons INTEGER,nome TEXT,kms INTEGER,kmsAlarme INTEGER,quantidade INTEGER,quantidadeAlarme INTEGER,data INTEGER,dataAlarme INTEGER,alarmeMsg TEXT)');
end;
添加按鈕代碼:
procedure TTabbedForm.btnGravarClick(Sender: TObject);
begin
try
SQLQueryInsert.ParamByName('idCons').AsInteger := PopupBoxTipo.ItemIndex;
SQLQueryInsert.ParamByName('nome').AsString := PopupBoxTipo.Text;
SQLQueryInsert.ParamByName('kms').AsInteger := StrToInt(kmsEdit.Text);
SQLQueryInsert.ParamByName('quantidade').AsInteger := StrToInt(qtdEdit.Text);
SQLQueryInsert.ParamByName('data').AsInteger := DateTimeToUnix(dtaEvento.Date);
SQLQueryInsert.ExecSQL();
lista.Refresh;
LinkFillControlToField1.BindList.FillList;
except
on e: Exception do
begin
ShowMessage(e.Message);
end;
end;
end;
如果你需要更多的代碼片斷,請諮詢!
在此先感謝您的回覆!
你檢查的的Id插入與已經存在的數據不衝突? – Remi
@RemiArts,表是空的......第一個插入的作品,但只有第一個... –
是的,但你不是試圖再次放入相同的數據?如果主鍵相同,則不能插入 – Remi