// -------------------------- Category ---------------------------------------
// Kategorie leer
if CategoryComboBox.Text = '
'
then
begin
Form1.SQLQuery1.ParamByName('
fk_category_id').Clear;
end else if (CategoryComboBox.Items.IndexOf(CategoryComboBox.Text) = -1)
and (CategoryComboBox.Text <> '
')
then
begin
// Kategorie nicht vorhanden, also neue Kategorie in die DB schreiben
Form1.SQLQueryCategory.Close;
Form1.SQLQueryCategory.SQL.Text := '
INSERT INTO tbcategory VALUES(NULL, :category)';
Form1.SQLQueryCategory.ParamByName('
category').AsString := CategoryComboBox.Text;
Form1.SQLQueryCategory.ExecSQL;
Form1.SQLTransaction1.Commit;
// Die letzte ID auslesen
Form1.SQLQueryCategory.Close;
Form1.SQLQueryCategory.SQL.Text := '
SELECT last_insert_rowid() as id_tbcategory FROM tbcategory';
Form1.SQLQueryCategory.Open;
CategoryLastID := Form1.SQLQueryCategory.FieldByName('
id_tbcategory').AsInteger;
Form1.SQLQuery1.ParamByName('
fk_category_id').AsInteger := CategoryLastID;
end else if CategoryComboBox.Items.IndexOf(CategoryComboBox.Text) >= 0
then
begin
// String in der CB vorhanden, ID zuweisen
Form1.SQLQuery1.ParamByName('
fk_category_id').AsInteger := Integer(CategoryComboBox.Items.Objects[CategoryComboBox.Items.IndexOf(CategoryComboBox.Text)]);
end;
// -------------------------- Ende Category ----------------------------------
Form1.SQLQuery1.ExecSQL;
Form1.SQLTransaction1.Commit;