Datensensitiven Controls + Firebird
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Hast du auch ein entsprechendes Transact für die Connection und Query?
Und hast du der Tdatensource die entsprechende Query unter Dataset zugewiesen und der datensensitiven Komponenten wiederrum die entsprechende Datasource und das entsprechende DataField.
Ich nehm ja mal an, du siehst einfach nicht in den Komponenten bekommst aber keine Fehlermeldung?
Und hast du der Tdatensource die entsprechende Query unter Dataset zugewiesen und der datensensitiven Komponenten wiederrum die entsprechende Datasource und das entsprechende DataField.
Ich nehm ja mal an, du siehst einfach nicht in den Komponenten bekommst aber keine Fehlermeldung?
-
- Beiträge: 17
- Registriert: Di 30. Jan 2007, 22:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Ladbergen
Yepp
das Konzept ist ja das selbe wie bei Delphi bzw wie bei der IBO. von daher denke ich mal, das ich die Zuordnungen Dataset,Datasource etc schon korrekt habe. Allerdings hab ich sie in den Eigenschaften eingetragen und setzte sie nicht zur Laufzeit erneut. Das werd ich nochmal probieren.
genau das.
Weder im Designer, und ebenfalls nicht zur Laufzeit.
das Konzept ist ja das selbe wie bei Delphi bzw wie bei der IBO. von daher denke ich mal, das ich die Zuordnungen Dataset,Datasource etc schon korrekt habe. Allerdings hab ich sie in den Eigenschaften eingetragen und setzte sie nicht zur Laufzeit erneut. Das werd ich nochmal probieren.
Ich nehm ja mal an, du siehst einfach nicht in den Komponenten bekommst aber keine Fehlermeldung?
genau das.
Weder im Designer, und ebenfalls nicht zur Laufzeit.
-
- Beiträge: 17
- Registriert: Di 30. Jan 2007, 22:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Ladbergen
@Christian
Yepp
unter Firebird kann man ohne Transaktion nicht mal lesen.
Oder muss bei der Transaktionskomponente irgendwas besonderes eingestellt werden ?
Ich arbeite normalerweise mit IBObjects (glaube nicht, das es das bisher für Lazarus gibt, zumindest hab ich's nicht gefunden), da ist das Transaktionsmanagment sehr kompfortabel gelöst.
Yepp
unter Firebird kann man ohne Transaktion nicht mal lesen.
Oder muss bei der Transaktionskomponente irgendwas besonderes eingestellt werden ?
Ich arbeite normalerweise mit IBObjects (glaube nicht, das es das bisher für Lazarus gibt, zumindest hab ich's nicht gefunden), da ist das Transaktionsmanagment sehr kompfortabel gelöst.
-
- Beiträge: 17
- Registriert: Di 30. Jan 2007, 22:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Ladbergen
Nur kein Stress Ich wollt's ja nur mal probieren, wäre natürlich doll, wenn es ginge, wenn ich zB Rtg Linux denke.
Hier mal die Komponenten des Formulares;
die Datenbank selbst und die SQL-Anweisung werden im Progr. eingestellt:
Und hier der Quelltext bzw der Auszug onButten1Click, aus dem dieses Testprogr besteht:
Hier mal die Komponenten des Formulares;
die Datenbank selbst und die SQL-Anweisung werden im Progr. eingestellt:
Code: Alles auswählen
object DBGrid1: TDBGrid
Left = 30
Height = 184
Top = 128
Width = 362
DataSource = Datasource1
FixedColor = clBtnFace
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn]
ParentColor = False
TabOrder = 1
TabStop = True
end
object DBNavigator1: TDBNavigator
Left = 33
Height = 25
Top = 102
Width = 241
BevelOuter = bvNone
DataSource = Datasource1
end
object DBEdit1: TDBEdit
Left = 147
Height = 23
Top = 61
Width = 80
DataField = 'ADRNR'
DataSource = Datasource1
ParentColor = False
TabOrder = 2
end
object IBConnection1: TIBConnection
Transaction = SQLTransaction1
left = 192
top = 8
end
object SQLTransaction1: TSQLTransaction
Action = caCommit
Database = IBConnection1
left = 232
top = 8
end
object Datasource1: TDatasource
DataSet = SQLQuery1
left = 272
top = 8
end
object SQLQuery1: TSQLQuery
Database = IBConnection1
Transaction = SQLTransaction1
Params = <>
UpdateMode = upWhereKeyOnly
UsePrimaryKeyAsKey = True
ParseSQL = True
DataSource = Datasource1
left = 312
top = 8
end
Und hier der Quelltext bzw der Auszug onButten1Click, aus dem dieses Testprogr besteht:
Code: Alles auswählen
IBConnection1.DatabaseName := 'debi:/ibdata/CAMPOS.GDB';
IBConnection1.Dialect := 3;
IBConnection1.HostName := '';
IBConnection1.UserName := 'sysdba';
IBConnection1.Password := 'masterkey';
IBConnection1.Connected := true;
SQLQuery1.Close;
SQLTransaction1.Active := True;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('select * from t_st_adr');
SQLQuery1.Open;
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
So, hat zwar etwas gedauert, aber der Fehler dürfte klein sein - mit großer Wirkung:
Eine Query hat keine Datasource sondern ist sie ja selbst, zumindest kommt Laz an der Stelle damit nicht klar, wenn du die Datasource bei der Query raus nimmst, muss es eigentlich gehen.
Code: Alles auswählen
object SQLQuery1: TSQLQuery
Database = IBConnection1
Transaction = SQLTransaction1
Params = <>
UpdateMode = upWhereKeyOnly
UsePrimaryKeyAsKey = True
ParseSQL = True
// DataSource = Datasource1 <<<<<<<<<<<<
left = 312
top = 8
end
Eine Query hat keine Datasource sondern ist sie ja selbst, zumindest kommt Laz an der Stelle damit nicht klar, wenn du die Datasource bei der Query raus nimmst, muss es eigentlich gehen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Eine Query hat keine Datasource sondern ist sie ja selbst, zumindest kommt Laz an der Stelle damit nicht klar, wenn du die Datasource bei der Query raus nimmst, muss es eigentlich gehen.
In der Query benötigst Du die Eingenschaft DataSource nur dann wenn du Master->Detailbeziehungen hast. Dann kommt NUR bei der Detailquery die Info über die Masterdatasource hinein.
Im andern Fall macht Lazarus ja das richtige - er Verweigert, da du ja eine zirkulare Referenz erzeugt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).