AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Suche nach Zahlen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Suche nach Zahlen

Ein Thema von swoob · begonnen am 19. Jan 2003 · letzter Beitrag vom 19. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2      
swoob

Registriert seit: 19. Jan 2003
10 Beiträge
 
#1

SQL Suche nach Zahlen

  Alt 19. Jan 2003, 11:44
Hi!
Ich hab da ein Problem wenn ich in Delphi in meiner Datenbank nach Zahlen suchen will. Um genau zu sein suche ich Nach verschiedenen ArtikelNr.
Der Befehl den ich benutze sieht wie folgt aus:

Zitat:
procedure TForm3.Button3Click(Sender: TObject);
var s : string;
begin
s := 'select * from Tabellenname where ' +
'(Produkttyp like "'+Edit4.Text+'%")';

try
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(s);
Query2.Open;
except
end;
end;
Dieser funktioniert auch solange Edit4.Text = einem String entspricht.
Doch steht hier eine Zahl, also unsere KundenNr (Bsp: 1918001) funktioniert dieser Befehl nicht mehr.
Könnt ihr mir bei diesem Problem helfen?

mfg
swoob
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2

Re: SQL Suche nach Zahlen

  Alt 19. Jan 2003, 11:48
Hi,

Zitat von swoob:
Dieser funktioniert auch solange Edit4.Text = einem String entspricht.
Doch steht hier eine Zahl, also unsere KundenNr (Bsp: 1918001) funktioniert dieser Befehl nicht mehr.
Du musst einfach den String in einen Integer umwandeln.

Delphi-Quellcode:
var
  s: String;

  s := IntToStr(12345);
HTH

Grüsse, Daniel
  Mit Zitat antworten Zitat
swoob

Registriert seit: 19. Jan 2003
10 Beiträge
 
#3

Danke

  Alt 19. Jan 2003, 12:05
Vielen Dank für deine schnelle Hilfe.
Aber irgendwie bekomm ich das jetzt nicht gebacken deinen Vorschlag in meinen Befehl einzufügen.

mfg
swoob
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 19. Jan 2003, 12:10
Hi,

Delphi-Quellcode:
procedure TForm3.Button3Click(Sender: TObject);
var s : string;
begin
s := 'select * from Tabellenname where ' +
'(Produkttyp like "'+ IntToStr(Edit4.Text) +'%")';

try
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(s);
Query2.Open;
except
end;
end;
Ich denke das wird es wohl sein, Du willst den Inhalt des Edits in der DB einfügen, oder genau andersrum?

Grüsse, Daniel
  Mit Zitat antworten Zitat
swoob

Registriert seit: 19. Jan 2003
10 Beiträge
 
#5

Leider nicht...

  Alt 19. Jan 2003, 12:28
Leider funktioniert der Befehl so nicht.
Es kommt die Fehlermeldung:
[Error] Kundenverzeichnis.pas(102): There is no overloaded version of 'IntToStr' that can be called with these arguments

Ich will das Delphi die KundenNr aus dem Edit4 Feld abliest und dann in einer anderen Tabelle nach dieser Nummer sucht. Und zwar in der spalte KundenNr.

mfg
swoob
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6
  Alt 19. Jan 2003, 12:32
@DanielB:
Sorry - aber so kann das nicht funktionieren. Die Eigenschaft 'Text' eines Edit-Feldes ist ein String. Diesen wiederum kannst Du nicht an 'IntToStr()' übergeben - das lässt sich nicht einmal kompilieren.

Wie ist denn das Feld mit der Kundennummer in der Datenbank deklariert? Als Zahlentyp? Dann dürfte es mit 'like'-Vergleichen ein wenig schwierig werden. Im ANSI-SQL ist der Operator 'like' lediglich auf Strings definiert - jedoch haben einige Systeme hier eigene Erweiterungen vorgenommen, um den Befehl 'like' auch auf numerischen Feldern zu unterstützen.
Welche Datenbank benutzt Du? Ich würde vorschlagen, dort mal in der Dokumentation zum Thema 'like' nachzuischlagen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#7

Re: Leider nicht...

  Alt 19. Jan 2003, 12:32
Zitat von swoob:
Ich will das Delphi die KundenNr aus dem Edit4 Feld abliest und dann in einer anderen Tabelle nach dieser Nummer sucht. Und zwar in der spalte KundenNr.
Dann brauchst Du dies:

Delphi-Quellcode:
var
  i: integer;

i := StrToInt(Edit1.Text);
Jetzt musst/kannst Du i mit den Werten in den anderen Spalten/Tabellen suchen. Denn i hat jetzt den Wert der im Edit drin steht und ist in einen Integer umgewandelt.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#8
  Alt 19. Jan 2003, 12:33
Jetzt habe ich Deine Antwort gelesen - nun, wenn Du nach exakt einer Kundennummer suchen willst, dann kannst Du auf 'like' verzichten und Gleichheit prüfen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#9
  Alt 19. Jan 2003, 12:36
Zitat von Daniel:
@DanielB:
Sorry - aber so kann das nicht funktionieren. Die Eigenschaft 'Text' eines Edit-Feldes ist ein String. Diesen wiederum kannst Du nicht an 'IntToStr()' übergeben - das lässt sich nicht einmal kompilieren.
*grmpfl* Dann kann man so "einfache" sachen bei DBs nicht anwenden?
Ist ja Blöd. Ich weiss schon warum ich mich bis jetzt aud DB rausgehalten habe. Ich lass es bleiben.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#10
  Alt 19. Jan 2003, 12:40
Hallo Daniel,

Zitat von Daniel B:
*grmpfl* Dann kann man so "einfache" sachen bei DBs nicht anwenden?
Weder das normale Edit-Feld, ein String im Allgmeinen oder die Funktion 'IntToStr()' haben etwas mit Datenbanken zu tun. Wir bewegen uns hier noch auf dem Terrain von Object-Pascal (Delphi-Language).
Daniel R. Wolf
mit Grüßen aus Hamburg
  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 19:54 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