Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   DBNavigator (https://www.delphipraxis.net/148950-dbnavigator.html)

Sanguis 11. Mär 2010 00:26


DBNavigator
 
Guten Abend,

ich bastel grad an ner kleinen DB mit SQLite. Der Connect usw. funktioniert.
Aber der DBNavigator nicht. Egal was ich einstelle, er ist auf Enabled, obwohl nicht so eingestellt. Die Tabelle geht, hat 5 Testdatensätze. Sie ist mit dem DBMemo verknüpft, welches das gewünschte Feld anzeigt. Das ganze läuft über den DataSource2. Der ist auch im DBNavigator eingetragen. Aber er funzt einfach nicht. Was kann das sein?

Gruß,
Andreas

pmoegenb 11. Mär 2010 07:10

Re: DBNavigator
 
Hallo Adreas,
ist in DataSource2 auch die Tabelle eingetragen ? Wenn DBNavigator die Eigenschaft Enabled=True aufweist müsste es doch klappen.

Sanguis 11. Mär 2010 14:55

Re: DBNavigator
 
Ja, die Tabelle ist eingetragen. Das DBMemo funktioniert ja auch damit.

Enabled im DBNavigator ist True, trotzdem ist er nicht "clickbar"....

Gruß,
Andreas

mirage228 11. Mär 2010 14:57

Re: DBNavigator
 
Was genau geht denn nicht?

Zum Einfügen, Löschen und Ändern von Datensätzen müssen ggf. die entsprechenden SQL-Abfragen (z.B. TUpdateSQL für ein TQuery) hinterlegt sein ...

Sanguis 11. Mär 2010 15:56

Re: DBNavigator
 
Hallo,

es ging nichtmal der Button für den nächsten Datensatz.
Aber ich hab es rausgefunden. Der SQLQuery war eine "geschlossene Datenmenge", warum auch immer. Er steht auf active=true.
Aber mit query.open geht es jetzt. Nur das delete bekomm ich nicht hin. Der query ist mit einer updateSQL Componente verbunden, schreibt beim versuchen des Delete aber immer "SQL Makro Syntax Error, expect on Delete"... ich weiß nicht weiter...

Gruß,
Andreas

Sanguis 11. Mär 2010 16:40

Re: DBNavigator
 
Hallo,

jetzt steh ich voll auf dem Schlauch.
Folgender Code:

Delphi-Quellcode:
firststart := ini.ReadString('Global', 'firststart', '');



if(firststart = '1') then begin
   Antwort := Application.MessageBox ('Music?','Do you want to play Background music??', MB_YesNo+MB_IconQuestion+MB_DefButton1);
 if Antwort = IDYes then begin
 Musik :='1';
 ini.WriteString('Global', 'Musik', '1');
 ini.WriteString('Global', 'firststart', '0');
 end
 else begin
  ini.WriteString('Global', 'Musik', '0');
  ini.WriteString('Global', 'firststart', '0');
 end;
 end;
 Ini.Free;
In der Inidatei, steht firststart=1... aber die Messagebox wird nicht angezeigt, er setzt Musik und firststart nur auf 0. Und ich finde den Fehler nicht.

Gruß,
Andreas

Sanguis 11. Mär 2010 18:40

Re: DBNavigator
 
Nabend,

ich hab den Code ein wenig umgeschrieben:
Delphi-Quellcode:
firststart := ini.ReadInteger('Global', 'firststart', 0);

form1.Caption := IntToStr(firststart);

if(firststart = 0) then begin
if MessageDlg('Do you want to play Backgroundmusic ?', mtConfirmation, [mbYes, mbNo], 0)=mrYes then
begin
 Musik :='1';
 ini.WriteString('Global', 'Musik', '1');
 ini.WriteString('Global', 'firststart', '0');
 end
 else begin
 Musik:='0';
  ini.WriteString('Global', 'Musik', '0');
  ini.WriteString('Global', 'firststart', '0');
 end;
end;
Die "firststart" Variable wurde zur Integer und steht, zur Kontrolle, richtig in der Form1.caption. Aus der MessageBox wurde ein MessageDlg. Aber der wird einfach nicht angezeigt, obwohl firststart auf 0 steht. Ich verzweifel langsam.

Gruß,
Andreas

Edit: Es geht nichtmal wenn ich ein firststart:=0 davor setzte. Liegt es daran, das es im onShow der Form passiert? Der übergeht die if Bedingung einfach. Ich kapier das nicht.

DeddyH 11. Mär 2010 18:42

Re: DBNavigator
 
Dann setz doch einfach einen Haltepunkt und stepp einmal durch.

[edit] Das ist aber jetzt ein ganz anderes Thema, seh ich gerade erst. Du solltest dafür einen neuen Thread eröffnen. [/edit]

Sanguis 11. Mär 2010 18:48

Re: DBNavigator
 
Hallo,

ich hab nen Haltepunkt in die if Anweiisung gesetzt. Aber der wird einfach übergangen, das Programm hält nicht.

Gruß,
Andreas

DeddyH 11. Mär 2010 18:49

Re: DBNavigator
 
Dann mach mal einen neuen Thread auf und zeig dort die komplette Routine, dann sieht man evtl. mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr.
Seite 1 von 2  1 2      

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