Autor Beitrag
DJ22
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 06.02.03 16:27 
Ich habe folgende Spalten in der Datenbank(Paradox 7) namens Note: Matrikelnummer(A), Fach(A), Note(I)

Nun habe ich in 2 Stringvariablen namens matnummer und fachl Inhalte gespeichert, nach denen ich in dieser Datenbank mittels SQL suchen will. Wie kann ich SQL mit Variablen benutzen? Momentan sieht meine SQL-Abfrage folgendermassen aus:
ausblenden Quelltext
1:
2:
SELECT * FROM Note WHERE Matrikelnummer = matnummer AND 
Fach = fachl

Aber das geht leider nicht.

Vielen Dank im Voraus

Dirk

Moderiert von user profile iconTino: Code-Tags hinzugefügt und Absätze entfernt.
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Do 06.02.03 16:34 
Hallo,

dazu gibt es mehrer Wege. Einer könnte soi aussehen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
...
with Query1 do
begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT * FROM Note');
  SQL.Add('WHERE ((Matrikelnummer=:Param1) AND (Fach=:Param2))');
  Params.ParamByName('Param1').AsString:=matnummer; 
  Params.ParamByName('Param2').AsString:=fachl;
  Open;
  ShowMessage('Gefunden: '+IntToStr(RecordCount));
  Close;
end; // with
...

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
DJ22 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 07.02.03 10:24 
Titel: Danke
Danke für die Antwort

genau das hatte ich gesucht.


Gruß

Dirk
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 07.02.03 11:39 
ich hab auch noch n vorschlag.... :D
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
varfach := QuotedStr(AnsiUpperCase(Edit1.Text));

with Query1.SQL do begin
Clear;
Add('SELECT * FROM meinedb WHERE upper(fach) = ' + varfach);
end;
Query1.SQL.Open;

.... viel spass damit.. ;)

mfg
Mausi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Do 13.02.03 09:01 
Titel: Vielleicht kannst dus so realisieren
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
with Query1 do 
begin 
  Close; 
  SQL.Clear; 
  SQL.Add('SELECT * FROM Note'); 
  SQL.Add('WHERE (Matrikelnummer=' +#39+ matnummer +#39+')    
              AND    (Fach=' +#39+fachl +#39+')'); 
  Open; 
  Close; 
end; // with

Viel Erfolg

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Do 13.02.03 10:26 
Der Code von Kiwicht ist nicht ganz richtig :
Zitat:

varfach := QuotedStr(AnsiUpperCase(Edit1.Text));

with Query1.SQL do begin
Clear;
Add('SELECT * FROM meinedb WHERE upper(fach) = ' + varfach);
end;
Query1.SQL.Open;


Er müsste so aussehen :
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
varfach := QuotedStr(AnsiUpperCase(Edit1.Text)); 

with Query1.SQL do begin 
  Clear; 
  Add('SELECT * FROM meinedb WHERE Fach = ' + varfach); 
end; 
Query1.Open;