Entwickler-Ecke

Datenbanken - Datenbank nach Zahlenwert Größer/Gleich durchsuchen


Deliverenc - Fr 23.03.18 22:15
Titel: Datenbank nach Zahlenwert Größer/Gleich durchsuchen
Hallo

Ich würde gerne eine SQL-Datenbank nach einem Zahlenwert durchsuchen der >= dem eingegebenen Zahlenwert ist.
Wenn der entsprechende Zahlenwert gefunden wurde soll in einem Edit die Spaltenbezeichnung und in einem anderen Edit der Inhalt der 1 Zelle von der in der Zeile gefunden Zahlenwet ausgegeben werden.

Screenshot

Edit1 ist das Eingabefeld für den Zahlenwert nach dem gesucht werden soll.

Mit freundlichen Grüßen

Deliverenc

Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.


Narses - Sa 24.03.18 13:39

Moin!

Was hast du denn bereits versucht, was hat dabei nicht funktioniert oder wo genau hast du ein Problem? :lupe: Bisher hast du lediglich eine Erwartungshaltung dokumentiert, aber keinen eigenen Einsatz gezeigt oder eine konkrete Frage gestellt. :nixweiss:

cu
Narses


Deliverenc - Mo 26.03.18 18:32

Sory das ich das blöde formuliert habe.

Datenbankdurchsuchung bekomme ich so weit hin, wenn es um Texte geht. Wollte dann in verschiedenen Büchern nachschlagen aber da stand auch nix wie ich ein Datenbank >= durchsuchen kann.
Deshalb habe ich gehofft hier kann mir das jemand erklären wie das zu realisieren ist. Das Bild habe ich nur mal zur Verdeutlichung angehängt was passieren soll.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  begin
    // searching per column
    for row:=1 to rowcount do
    begin
      for col:=1 to 3 do
      begin
        if grid.Cells[col,row] = edit1.Text then
        begin
          edit2.Text:=grid.Cells[col,0];
          edit3.Text:=grid.Cells[0,row];
          break;
        end;
      end;
    end;
  end;


Ich Wette das ich nur auf dem Schlauch stehe und das einfachste übersehe.

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt


Narses - Mo 26.03.18 21:59

Moin!

Hm, ich verstehe einfach nicht, wo dein Problem ist, scheint mir. :gruebel: Warum sollte man eine Abfrage nicht mit >= formulieren können, alle mir bekannten DB-Systeme können das... :nixweiss:

Wie machst du das denn mit Texten, gib doch mal ein Beispiel nur mit = an (mich würde interessieren, welchen SQL-Dialekt zu verwendest). :idea: ;)

cu
Narses


icho2099 - Di 27.03.18 07:15

Ich verstehe die Frage so:
Es gibt mehrere Spalten mit numerischen Werten, evtl. sogar variabel viele Spalten.
Zu finden ist die erste Zeile in der ein Spaltenwert >= einem Vorgabewert ist.
Das Ergebnis soll den Spaltennamen liefern.


jasocul - Di 27.03.18 07:25

Ich habe die Befürchtung, dass wir gar nicht über eine Datenbank reden. Den Verdacht hatte ich schon von Anfang an, da man nicht in einer Datenbank, sondern in einer Tabelle sucht.

Kann es sein, dass es sich lediglich um ein StringGrid handelt, in dem nach Werten gesucht werden soll?


Deliverenc - Di 27.03.18 20:32

Ich muss mich entschuldigen habe da eine dummen fehler gemacht.

Ich wollte ja ein StringGrid durchsuchen net die Datenbank direkt. Trozdem Danke für die Geduld.


Narses - Di 27.03.18 23:38

Moin!

Hm, nimmst du uns auf den Arm? :suspect: Oder willst du uns ernsthaft erzählen, dass du hier mit dem Vergleich nicht fertig wirst? :|

Delphi-Quelltext
1:
if grid.Cells[col,row] >= edit1.Text then                    

:nixweiss:

cu
Narses


jasocul - Mi 28.03.18 07:14

@Narses:
Das ist nur der halbe Weg.
In den Zellen des StringGrids stehen Strings. Der String-Vergleich wird nur in Sonderfällen funktionieren. Die Zell-Inhalte müssen zum Vergleich noch in Zahlen umgewandelt werden.

@Deliverenc:
Den Verlgeich entsprechend umstellen, wie Narses es geschrieben hat. Dazu die Zell-Inhalte in Zahlen umwandeln. Siehe dazu StrToInt, bzw. StrToFloat.


Narses - Mi 28.03.18 09:30

Moin!

user profile iconjasocul hat folgendes geschrieben Zum zitierten Posting springen:
@Narses:
Das ist nur der halbe Weg.
Wirklich jetzt... 8)

Am TE-Nivau ausgerichtet hatte ich gehofft, wir lassen ihn das mal selbst rausfinden. :zwinker:

cu
Narses


jasocul - Mi 28.03.18 09:53

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Am TE-Nivau ausgerichtet hatte ich gehofft, wir lassen ihn das mal selbst rausfinden. :zwinker:

Um diesen Thread noch weiter unnötig in die Länge ziehen? Neeee :wink: