AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi IF-Abfrage mit Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

IF-Abfrage mit Datenbank

Ein Thema von thiagojonas · begonnen am 29. Nov 2008 · letzter Beitrag vom 30. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#1

IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 14:06
Datenbank: Access • Zugriff über: ADO
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:
procedure TForm1.FormShow(Sender: TObject);
begin
  if form8.DBGrid1.DataSource.DataSet.FieldByName('Name').AsString = 0 then
begin
  form7.ShowModal;
end;
Hat jemand eine Idee, was ich falsch mache?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 14:09
Zitat:
....AsString = 0
AsString gibt Dir einen String zurück. Du könntest es mal mit Length(FieldByName('Name').AsString) versuchen oder auf NULL abfragen oder oder... Aber für nähere Informationen müsste man Deine Datenstruktur kennen.
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
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#3

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 14:18
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 14:22
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:
SELECT COUNT(1) AS Anzahl
FROM Tabelle
WHERE Username = 'Heinz'
Wenn dann in Anzahl eine 0 steht, gibt es den User 'Heinz' in der Tabelle nicht.
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
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#5

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 14:41
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?
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#6

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 15:10
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
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 16:28
Warum ne Table?
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: IF-Abfrage mit Datenbank

  Alt 29. Nov 2008, 17:42
Zitat von thiagojonas:
wo ich die Datenbank anzeigen lasse...
Tabelle, Du meinst 'Tabelle'. Eine 'Datenbank' ist der Speicherort, an dem alle Tabellen gespeichert werden. Das wäre so, als ob du 'Datei' und 'Festplatte' verwechselt.

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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
thiagojonas

Registriert seit: 31. Aug 2008
Ort: Wolfenbüttel
338 Beiträge
 
#9

Re: IF-Abfrage mit Datenbank

  Alt 30. Nov 2008, 11:03
Danke das wars
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: IF-Abfrage mit Datenbank

  Alt 30. Nov 2008, 11:10
Zitat von alzaimar:
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'.
Steht doch alles da
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
Antwort Antwort
Seite 1 von 2  1 2      


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 08:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz