Einzelnen Beitrag anzeigen

AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

In SQLite Integer-Wert schreiben?

  Alt 30. Nov 2013, 20:26
Datenbank: SQLite • Version: 3 • Zugriff über: SQLiteSimpleDelphi-Wrappers von Tim Anderson
Hallo,

ich schreibe wie folgt in meine SQLite DB:

Delphi-Quellcode:
procedure TForm3.AddNewStation();
var
  dbFile: String; // DB Verzeichniss
  db: TSQLiteDatabase; // Klasse
  sSQL: String;
  f: Integer;
begin
  dbFile := ExtractFilePath(Application.ExeName) + 'Stations.db';
  db := TSQLiteDatabase.Create(dbFile);

  // Prüfen, ob Station favorit oder nicht
  if FavoriteCheckBox.Checked then
  f:=1 else f:=0;

    try

    // Transaktion beginnt
    db.BeginTransaction;

    // Tabelle allStations füllen
    sSQL := 'INSERT INTO allStations(aName, aStreamURL, aWebsiteURL, aScheduleURL, aFavorite, aFixed, aInfo, ';
    sSQL := sSQL + 'fk_language_id, fk_category_id) VALUES ("' + Trim(StationNameLEdit.Text) + '",';
    sSQL := sSQL + '"' + Trim(StreamURLLEdit.Text) + '",';
    sSQL := sSQL + '"' + Trim(StationWebsiteLEdit.Text) + '",';
    sSQL := sSQL + '"' + Trim(StationProgramsLEdit.Text) + '",';
    sSQL := sSQL + '"' + IntToStr(f) + '",';
    sSQL := sSQL + '"' + IntToStr(0) + '",';
    sSQL := sSQL + '"' + InfoMemo.Text + '",';
    sSQL := sSQL + '"' + IntToStr(Integer(LanguageComboBox.Items.Objects[LanguageComboBox.ItemIndex])) + '",';
    sSQL := sSQL + '"' + IntToStr(Integer(CategoryComboBox.Items.Objects[CategoryComboBox.ItemIndex])) + '");';

    // Insert Befehl wird ausgeführt
    db.ExecSQL(sSQL);

    // Transaktion endet
    db.Commit;

  finally
    db.Free;
  end;
end;
Nun möchte ich die Variable f und die Fremdschlüssel in die DB als Integer-Wert speichern. Wie kann ich das mit diesem Vorgehen machen, wenn die ganze sSQL-Kette ein String ist?
Bin für jeden Tipp dankbar!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat