Autor |
Beitrag |
hanshermann
Hält's aus hier
Beiträge: 10
XP Vista Windows 7
Delphi5, Delphi2009
|
Verfasst: Sa 25.02.12 10:40
|
|
Th69
      

Beiträge: 4798
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Sa 25.02.12 10:59
Hallo Hans,
ich nehme mal an ds_Radix ist ein DataSet. Wie genau befüllst du es denn (Code)?
P.S: Bitte demnächst Code-Tags selber setzen
|
|
hanshermann 
Hält's aus hier
Beiträge: 10
XP Vista Windows 7
Delphi5, Delphi2009
|
Verfasst: Sa 25.02.12 12:37
hier ist der ganze code
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| Pgm_Pfad := ExtractFilePath(Application.Exename); DB_Name := 'Radix.abs'; ABSDB_Radix.DatabaseName := 'Radix_DB'; ABSDB_Radix.DatabaseFileName := Pgm_Pfad + 'HoroskDB\Radix.abs'; ABSTable_Radix.DatabaseName := 'Radix_DB'; ABSTable_Radix.TableName := 'Horoskope'; with ABSTable_Radix do begin DataBaseName := 'Radix_DB'; TableName := 'Horoskope'; Active := true; anz := recordcount; end;
FillGrid(Nr);
procedure TOpen_Form.FillGrid(ONr : String); var Sql_String, str, Ordner : string; i, j, OrdnerNr, Anzahl : Integer; DBGrid1.DataSource := F_AllStar.ds_Radix; With F_AllStar.ABSQuery_Radix do begin DataBaseName := F_AllStar.ABSDB_Radix.DatabaseName; Close; Sql.Clear; Sql_String := 'Select * '; Sql_String := Sql_String + 'from Horoskope '; Sql_String := Sql_String + 'Where Ordner_Nr = '; Sql_String := Sql_String + ONr; Sql_String := Sql_String + ' Order By Zuname'; Sql.Add(Sql_String); open; end; |
Moderiert von Th69: Code- durch Delphi-Tags ersetzt
|
|
Th69
      

Beiträge: 4798
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Sa 25.02.12 12:47
Hallo Hans,
das sieht mir aber sehr nach Delphi-Code aus, oder?
Dann bist du nämlich hier im falschen Unterforum und ich würde den Beitrag verschieben...
Für diesen Beitrag haben gedankt: hanshermann
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Sa 25.02.12 14:26
Die DataSource F_AllStar.ds_Radix ist auch mit dem Query F_AllStar.ABSQuery_Radix verbunden?
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 25.02.12 17:37
hanshermann hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TOpen_Form.FillGrid(ONr : String); var Sql_String, str, Ordner : string; i, j, OrdnerNr, Anzahl : Integer; DBGrid1.DataSource := F_AllStar.ds_Radix; With F_AllStar.ABSQuery_Radix do begin DataBaseName := F_AllStar.ABSDB_Radix.DatabaseName; Close; Sql.Clear; Sql_String := 'Select * '; Sql_String := Sql_String + 'from Horoskope '; Sql_String := Sql_String + 'Where Ordner_Nr = '; Sql_String := Sql_String + ONr; Sql_String := Sql_String + ' Order By Zuname'; Sql.Add(Sql_String); open; end; | |
Also, den Datenbanknamen einer Query sollte man nicht ändern, solange diese geöffnet ist.
Die lokale String Variable Sql_String benötigst du nicht. Schreibe stattdessen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| Sql.Clear; Sql.Add('Select *'); Sql.Add('from Horoskope'); Sql.Add('Where Ordner_Nr = '); Sql.Add(ONr); Sql.Add('Order By Zuname'); open; end; |
Danach empfiehlt es sich, im Debugger den Wert der übergebenen Stringvariablen ONr überprüfen, ob sie den von dir gewünschten Wert hat. Wenn es sich um eine Zahl handeln muß, übergebe besser ein Integer oder was auch immer du benötigst, statt einem String, und wandle erst dann, wenn du's benötigst, den Integer in einen String um.
|
|
vagtler
      
Beiträge: 96
Erhaltene Danke: 24
Delphi 2010, C# (VS 2012), Objective-C, Java
|
Verfasst: Sa 25.02.12 20:28
Das hat aber so rein gar nichts mit dem Problem zu tun. Ich denke eher, dass Xion den richtige Riecher hatte, aber das kann nur der Threadersteller beantworten.
|
|
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 26.02.12 11:44
vagtler hat folgendes geschrieben : | Das hat aber so rein gar nichts mit dem Problem zu tun. Ich denke eher, dass Xion den richtige Riecher hatte, aber das kann nur der Threadersteller beantworten. |
Wenn also ONr das Filterkriterium darstellt, dann soll eine Überprüfung des Inhalts von ONr nichts mit der Problematik zu tun haben? Das kann ich nicht nachvollziehen.
|
|
vagtler
      
Beiträge: 96
Erhaltene Danke: 24
Delphi 2010, C# (VS 2012), Objective-C, Java
|
Verfasst: So 26.02.12 12:09
Perlsau hat folgendes geschrieben : | [...] Wenn also ONr das Filterkriterium darstellt, dann soll eine Überprüfung des Inhalts von ONr nichts mit der Problematik zu tun haben? Das kann ich nicht nachvollziehen. |
Dann lies nochmal die Problemstellung:
Er bekommt alle Datensätze ohne Filterung angezeigt, d.h. ohne jegliche Einschränkung. Da kann in ONr drin stehen was will, wenn er das im falschen (d.h. in keinster Weise mit dem Grid verbundenen) TDataset-Abkömmling macht...
|
|