Entwickler-Ecke

Datenbanken - Hilfe mit sql


foxy - Di 14.01.03 13:13
Titel: Hilfe mit sql
Also hab gerade empfohlen bekomen aud sql umzusteigen nun brauch ich ein Tut oder gute pages wo ich infos herbekomme :D

noch was kann mir einer für den anfang den code sagen, das ich mit sql suchen kann? also wenn ich "h" eingebe das der alle datensätze sucht die mit "h"beginnen


kiwicht - Di 14.01.03 13:20

hallo..

also mir selber hat folgende seite sehr weitergeholfen, (und natürlich dieses forum ;) )

http://home.t-online.de/home/aam_int/de/sqlhelp/index.html

aber ich kann dir deine frage natürlich auch direkt beantworten:

rstmal, suchen gibt es so direkt nicht mit sql, glaub ich.
aber du kanns alle datensätze filtern, die ein h enthalten, dürfte eigentlich auch genügen.

also:

query.MeineDB.Active := False;

with Query.MeineDB.SQL do begin
Clear;
Add('SELECT * FROM meinedb WHERE feld1 LIKE "h"');
end;

query.MeineDB.Active := True;

oder, wenn du nach dem suchen willst, was der user in ein Edit-Feld eingegeben hat:

eingabe := QuotedStr('%' + UpperCaser(Edit1.Tex) + '%');

und in der Add-Zeile von oben schreibst du:

Add('SELECT * FROM meinedb WHERE feld1 LIKE' + eingabe);

fertig.

falls du noch fragen hast, warum welche bezeichner und so.... tu dir keinen zwang an.... ;)

mfg
kiwicht

btw:
über die suchfunktion hättest du hier sicherlich auch schon was gefunden... 8)


bis11 - Di 14.01.03 15:41

Hi,

ich kann mich meinem Vorredner nur anschließen. Zum Grundprinzip, damit Du eine SQL-Anweisung ausführen kannst brauchst Du eine Query-Komponente.

Dann sollte der Code lauten um zum Beispiel einen SQL-Select Befehl absetzen :


Quelltext
1:
2:
3:
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM meinedb WHERE feld1 LIKE' + eingabe); 
Query1.Open;


Um einen Datensatz einzufügen mit INSERT oder einen Datensatz zu erneueren UPDATE musst Du den Code so schreiben :


Quelltext
1:
2:
3:
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO tabellenname (datafield1,datafield2)VALUES ('datavalue1','datavalue2'); 
Query1.ExecSQL;


Der Rest für SQL-Fragen ist auf der Seite erklärt von meinem Vorredner.