AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Embedded + AUTOINC
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Embedded + AUTOINC

Ein Thema von himitsu · begonnen am 17. Jan 2015 · letzter Beitrag vom 10. Okt 2015
Antwort Antwort
Seite 1 von 3  1 23      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.877 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 09:48
Ich würde auch dann keines der von mir genannten Systeme verwenden. Aber das ist meine persönliche Meinung.
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 10:52
Eben Weshalb sollte man alte, unmoderne und unflexible Software einsetzen, wenn man ebenso auch neue, moderne und flexible Software haben kann? Wie so oft kann ich mich des Eindrucks nicht erwehren, daß auch in diesem Bereich mehr aus Gewohnheit für das Alte plädiert wird denn aus sachlicher Überzeugung.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#3

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 14:24
Zitat:
Frickelsystem
Das ist gut.

Irgendwie ignoriert das Ding sogar ein Order-By und macht einfach nicht.
Weder sortieren, noch eine Fehlermeldung.

Ist doch nur ein billiges VARCHAR-Feld und mit INTEGER ging es auch nicht.
Und am schrottigen Delphi-DBGrid kann es nicht liegen, da dieses weder Sortierung noch Filterung kennt. (ist auch wirklich im Query so unsortiert)



Da will man mal privat bissl rumspielen und dann funktioniert einfach nichts.
  • DBImage versteht nur Bitmaps
  • Die Sortierung funktioniert nicht
  • und über Grids und schrottiges LiveBinding an Objectliste will ich nicht mehr nachdenken, drum wollte ich es jetzt mit einer "richtigen" DB versuchen


Hatte mit MySQL-Embedded angefangen, dann fielen mir wieder die Diskussionen vonwegen Lizenzen an und ich probierte mal das "coole" Firebird aus, was doch immer wieder gelobt wird.
Aber vielleicht liegt es ja auch am FireDAC, aber mit PgDAC hatte eigentlich nicht solche Probleme (nur hab ich diese DB hier nicht und das war auch noch nicht von Emba)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Jan 2015 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 14:41
Lass mal die ganze Delphi-Seite vorerst weg. Lege in IBExpert Tabelle an, einen Generator und einen BI-Trigger für die ID. Dann füge ein paar Datensätze ein und guck, ob die ID korrekt hochgezählt wird (also automatisch, nicht von Hand !!)
Gruß
Hansa
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 14:46
@Himi:
Wie sortierst Du denn? FireBird kann das ganz hervorragend, sowohl bei Zahlen als auch bei Strings - auch unter Berücksichtigung von Ländercodes. Gleiches gilt für FireDAC.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#6

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 15:01
Wenn der Stürmer nicht trifft, ist der Ball Schuld
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#7

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 15:17
Eigentlich ganz normal.
SQL-Code:
SELECT *
FROM tabelle
ORDER BY spalte1, spalte2
Und probehalber auch
SQL-Code:
...
ORDER BY spalte1

...
ORDER BY spalte1 DESC
Als Ergebnis kommt aber immer die Erstellungsreihenfolge der Datensätze in der Tabelle raus.

Einfach mal alles Wichtige aus der DFM.
Im Code steht praktisch nur noch das Open.
Und in ".\Firebird Embeded" liegt der gesamte Inhalt der ZIP. (die Verzeichnisse sind aktuell aber absolute Pfade, damit ich die Connection auch in der IDE auf bekomm)
Code:
object FDPhysFBDriverLink: TFDPhysFBDriverLink
  DriverID = 'FirebirdEmbedded'
  VendorLib = '.\Firebird Embeded\fbembed.dll'
  Embedded = True
  Left = 64
  Top = 72
end
object FDConnection: TFDConnection
  Params.Strings = (
    'Database=.\database.ib'
    'Password=masterkey'
    'User_Name=sysdba'
    'CharacterSet=UTF8'
    'OpenMode=OpenOrCreate'
    'DriverID=FirebirdEmbedded')
  Connected = True
  LoginPrompt = False
  Left = 168
  Top = 72
end

object FDGUIxWaitCursor: TFDGUIxWaitCursor
  Provider = 'Forms'
  Left = 272
  Top = 72
end
object FDStanStorageBinLink: TFDStanStorageBinLink
  Left = 376
  Top = 72
end

object DBGridSeries: TDBGrid
  Left = 8
  Top = 483
  Width = 257
  Height = 118
  Anchors = [akLeft, akBottom]
  DataSource = DataSourceSeries
  Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgTitleClick, dgTitleHotTrack]
  TabOrder = 2
  TitleFont.Charset = DEFAULT_CHARSET
  TitleFont.Color = clWindowText
  TitleFont.Height = -11
  TitleFont.Name = 'Tahoma'
  TitleFont.Style = []
end

object FDQuerySeries: TFDQuery
  AfterScroll = FDQueryCountryAfterScroll
  FilterOptions = [foCaseInsensitive]
  IndexFieldNames = 'series_id'
  Connection = FDConnection
  UpdateOptions.AssignedValues = [uvGeneratorName]
  UpdateOptions.GeneratorName = 'euro_series_gen_id'
  UpdateOptions.UpdateTableName = 'euro_series'
  UpdateOptions.KeyFields = 'series_id'
  UpdateOptions.AutoIncFields = 'series_id'
  SQL.Strings = (
    'SELECT *'
    'FROM euro_series'
    'ORDER BY series_name, series_id')
  Left = 168
  Top = 128
  object FDQuerySeries_series_id: TIntegerField
    DisplayLabel = 'ID'
    DisplayWidth = 7
    FieldName = 'series_id'
    Origin = 'series_id'
    ReadOnly = True
    Required = True
  end

  ...

end;
object DataSourceSeries: TDataSource
  DataSet = FDQuerySeries
  Left = 168
  Top = 184
end

object DBNavigatorSeries: TDBNavigator
  Left = 115
  Top = 460
  Width = 150
  Height = 22
  DataSource = DataSourceSeries
  VisibleButtons = [nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh]
  Anchors = [akLeft, akBottom]
  TabOrder = 3
end
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Jan 2015 um 15:21 Uhr)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Firebird Embedded + AUTOINC

  Alt 18. Jan 2015, 15:18
Würd ich auch mal für ein Gerücht halten, dass FB nicht sortieren kann. Vielleicht ein Charset/Collate Problem?

Noch ein Gedanke zu Sequenzen:
Eine tabellenübergreifende ID per Sequenz ergibt immer leere Mengen, bei falschen Joins. Im Gegensatz zu fortlaufenden ID je Tabelle, falsche Joins spucken dann brav Schrott aus.
Zugegeben, Ursache ist ein falsches Select, aber ich finde den Effekt ganz nett.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#9

AW: Firebird Embedded + AUTOINC

  Alt 9. Okt 2015, 19:40
Ich habe da noch eine Frage, aber davor Danke Perlsau so ist das ja echt

Muss ich in Firedac noch was eistellen mein counter zählt nicht

der ist bis jetzt ein einfaches

FDTable1COUNTER: TLargeintField;

was übersehe ich ?
Martin MIchael
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

AW: Firebird Embedded + AUTOINC

  Alt 10. Okt 2015, 09:21
Erstelle einen Datenbank-Trigger und fertig.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz