![]() |
Datenbank: Access • Zugriff über: ADO
IF-Abfrage mit Datenbank
HAllo Leute,
ich möchte wissen ob die Datenbank leer ist. Wenn Sie das ist soll ein neues Fenster geöffnet werden. Habe es so probiert geht aber leider nicht. Der Compiler sag das Integer und String nicht kompatibel sind :-(
Delphi-Quellcode:
Hat jemand eine Idee, was ich falsch mache?
procedure TForm1.FormShow(Sender: TObject);
begin if form8.DBGrid1.DataSource.DataSet.FieldByName('Name').AsString = 0 then begin form7.ShowModal; end; |
Re: IF-Abfrage mit Datenbank
Zitat:
Delphi-Quellcode:
versuchen oder auf NULL abfragen oder oder... Aber für nähere Informationen müsste man Deine Datenstruktur kennen.
Length(FieldByName('Name').AsString)
|
Re: IF-Abfrage mit Datenbank
Ja Danke, klappt noch nicht ganz.
Also ich habe eine ADOCOnnection eine ADODataset und eine TDatasource. ICh habe dann ein formular mit der DBGrid, wo ich die DAtenbank anzeigen lasse. Dieses formular wird aber nie aufgerufen in meinem programm, sondern läuft immer im hintergrund. beim starten des programm möchte ich testen ob die tabelle mit der profilnamen des users leer ist. wenn aj kommt ein fenster, soll ein fenster kommen wo man seinen namen eintrage muss. Das programm ist nur für ein user ausgelegt. |
Re: IF-Abfrage mit Datenbank
Das klingt ein wenig... sagen wir mal "befremdlich". Ein Formular, das nie angezeigt wird? Das Design würde ich nochmals überdenken. Habe ich das richtig verstanden, Du willst überprüfen, ob es den User in einer Tabelle gibt? Das würde ich mit einer einfachen SQL-Abfrage machen.
SQL-Code:
Wenn dann in Anzahl eine 0 steht, gibt es den User 'Heinz' in der Tabelle nicht.
SELECT COUNT(1) AS Anzahl
FROM Tabelle WHERE Username = 'Heinz' |
Re: IF-Abfrage mit Datenbank
Okay nochmal. Ich habe eine DBGrid. Die ist natürlich auf ein Formular. Dieses Formular kann man nicht sehen.
Aber wenn ich z.B. einen neuen Benutzer hinzufüge. Wird in der DBGrid ein neuer Datensatz angelegt mit den entsprechenden Werte. Diese Werte, werden z.B. in eine Listbox geladen. So funktioniert das bei mir. Beim ersten programmstart soll halt ein Benuzername angelegt werden. Bei den darauffolgenden programmstarts soll kein fenster mehr erscheinen, das man ja bereits einen benutzernamen registriert hat. Deswegen die Abfrage. War das ein bisschen verständlicher? :oops: :-D |
Re: IF-Abfrage mit Datenbank
Ein DBGrid, das man nicht sehen kann, ist wirklich Quatsch (das wurde schon gesagt). Wie soll dort ein neuer Datensatz angelegt werden kann?
Vielleicht solltest Du eher über TTable nachdenken. Jürgen |
Re: IF-Abfrage mit Datenbank
Warum ne Table?
|
Re: IF-Abfrage mit Datenbank
Zitat:
So, wie ich das richtig verstanden habe, möchtest Du einen Benutzer in einer Tabelle anlegen, wenn es noch keinen Benutzer gibt. Wenn Du deine Query öffnest, kannst Du mit 'RecordCount' die Anzahl der Datensätze ermitteln (0 wäre dann gleichbedeutend mit 'Tabelle ist leer'). Gleiches geht auch mit der Funktion 'MyQuery.IsEmpty'. Wenn die Tabelle also leer ist, dann zeigst Du deinen Dialog mit Namen usw und speicherst die Daten in der Tabelle ab. Das wars. |
Re: IF-Abfrage mit Datenbank
Danke das wars :thumb: :thumb: :thumb:
|
Re: IF-Abfrage mit Datenbank
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 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 by Thomas Breitkreuz