Autor Beitrag
nonni
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 14:26 
Kann mir einer bitte den Fehler sagen woran das liegt?
Also Spalte KID gibt es und strvar wähle ich in einer DBLookupListBox
aus. Fehler kommt ein "ungültiger Spaltenname usw."

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.UN_klassenClick(Sender: TObject);
var StrVar:         string;
begin
  StrVar := UN_klassen.SelectedItem;
  QuUN_Unterricht.SQL.Clear;
  QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht 
  Where KID = StrVar order by Zeitid;');
  QuUN_Unterricht.Open;
end;


Moderiert von user profile iconUGrohne: Code-Tags ergänzt
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 29.03.03 14:37 
Du solltest Deine Variable auch korrekt einfügen, Dein SQL-Statement, dass an den Server kommt heißt jetzt:

ausblenden Quelltext
1:
SELECT * FROM TBL_Unterricht Where KID = StrVar order by Zeitid					


Klar, dass er da dann die Zeile StrVar nicht findet. Solltest es also folgendermaßen machen:

ausblenden Quelltext
1:
2:
QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht 
  Where KID = '+StrVar+' order by Zeitid;');

dann sieht das SQL-Statement so aus:

ausblenden Quelltext
1:
SELECT * FROM TBL_Unterricht Where KID=1 ...					
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 14:47 
Also dein code
ausblenden Quelltext
1:
2:
QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht 
  Where KID = '+StrVar+' order by Zeitid;');

funzt auch nicht, aber was meinst du mit dann sieht das SQL-Statement so aus:
ausblenden Quelltext
1:
SELECT * FROM TBL_Unterricht Where KID=1 ...					

entschuldige bitte für die dummen Fragen bin Anfänger.

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Sa 29.03.03 15:00 
Hi
nonni hat folgendes geschrieben:
Also dein code
Code:

QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht
Where KID = '+StrVar+' order by Zeitid;');

funzt auch nicht,

Eigentlich sollte das problemlos funktionieren. Vielleicht postest du ja mal die Fehlermeldung o. ä.

nonni hat folgendes geschrieben:

aber was meinst du mit

dann sieht das SQL-Statement so aus:

Code:

SELECT * FROM TBL_Unterricht Where KID=1 ...

UGrohne meinte damit, dass dies dann der erzeugte Inhalt in QuUN_Unterricht.SQL.Text ist.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 15:11 
Also die Fehlermeldung ist

'Ungültiger Feldname
xxxxxx.Ungültiger Spaltenname'

aber mal hierzu:



ausblenden Quelltext
1:
2:
3:
4:
5:
SELECT * FROM TBL_Unterricht Where KID=1 ... 

ich dachte die Eigenschaft StrVar := UN_klassen.SelectedItem;
liefert mir einen String den ich angeklickt habe und nicht '1'
da in der Spalte KID stehen die namen der Klassen 'Klasse 2001' z.B.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Sa 29.03.03 15:17 
Hi
Wenn du in KID den Namen brauchst sollte es so funktionieren:
ausblenden Quelltext
1:
2:
3:
4:
5:
StrVar := UN_Klassen.Items[UN_klassen.SelectedItem]; 
  QuUN_Unterricht.SQL.Clear; 
  QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht 
  Where KID = ' + QuotedStr(StrVar) + ' order by Zeitid;'); 
  QuUN_Unterricht.Open;


Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 29.03.03 15:24 
Genau, nimm das, was LCS gesagt hat, müssste gehen, hatte das auch erst stehen, dachte dann aber KID wird wohl ein primärindex sein, also Integer und hab dann aber auch noch vergessen inttostr(strvar) zu schreiben, meine Lösung hätte also niemals funktioniert *g*
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 15:27 
:cry: So wie ich das sehe bei mir hat 'DBLookupListBox' das ist die UN_Klassen keine Eigenschaft 'Items' , da fängt das schon an zu meckern.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Sa 29.03.03 15:28 
Hi
UGrohne hat folgendes geschrieben:
Genau, nimm das, was LCS gesagt hat, müssste gehen, hatte das auch erst stehen, dachte dann aber KID wird wohl ein primärindex sein, also Integer und hab dann aber auch noch vergessen inttostr(strvar) zu schreiben, meine Lösung hätte also niemals funktioniert *g*

Doch hätte schon. Aber eben nur wenn KID tatsächlich numerisch ist. StrVar ist String und SQL.Text ist String. :mrgreen:

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 29.03.03 15:35 
Ich glaub, ich sollte mich heute lieber zurückhalten und ins Bett legen, klappt irgendwie gar nix *g*. Einfach tote Hose heute :roll:
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 15:44 
Juhu es klappt :lol:
habe die Items rausgenommen , hier wie es jetzt ist:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.UN_klassenClick(Sender: TObject);
var StrVar :                             string;
begin

  StrVar := UN_klassen.SelectedItem;
  QuUN_Unterricht.SQL.Clear;
  QuUN_Unterricht.SQL.Add('SELECT * FROM TBL_Unterricht Where KID = ' + QuotedStr(StrVar) + ' order by Zeitid;');
  QuUN_Unterricht.prepare;
  QuUN_Unterricht.Open;

end;
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 29.03.03 15:45 
Danke nochmal