![]() |
Re: DBGrid sortieren
Stimmt der Connectionstring?
|
Re: DBGrid sortieren
in wie weit??
Was sollte das stehen?? Also mom. steht da Zitat:
|
Re: DBGrid sortieren
damit meinte ich,ob auch die richtige mdb connectiert wird.
da offensichtlich die tabelle nicht gefunden wird und du den richtigen namen angegeben hast. Oder hast du vllt. einen alten String in der Registry stehen? |
Re: DBGrid sortieren
Zitat:
Der ConnectionString müsste so aussehen:
Code:
Die Tabelle TKreuztabelle gefällt mir allerdings überhaupt nicht, da sie als Feldnamen die Namen der Vereine trägt.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Fussball2008.mdb;Persist Security Info=False
Ich würde eine TSpiel Tabelle einführen:
Code:
SpielNr|VereinA |VereinB | ToreA | ToreB | Datum | Bemerkung
===================================================================== 23|VFB Stuttgart |Bayern München | 5 | 1 | 05.08.2007 | 5 Min Nachspielzeit 24| .... |
Re: DBGrid sortieren
Zitat:
Zitat:
Jetzt konnt zwar nicht mehr die Fehlermeldung, aba es wird auch nix sortiert! Zitat:
Der sieht jetzt so aus:
Delphi-Quellcode:
Könnte es vllt. jetzt daran liegen, das ich den Code etwas verändert habe, dass jetzt nichts sortiert wird?
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin if Column.FieldName <> sSortColumn then begin sSortColumn := Column.FieldName; end else begin bSortOrder := not bSortOrder; end; ADODataSet1.Close; ADODataSet1.CommandText := 'SELECT * FROM TTabelle ORDER BY ' + sSortColumn; if not bSortOrder then begin ADODataSet1.CommandText := ADODataSet1.CommandText + ' DESC'; end; ADODataSet1.active := true; end; Zitat:
![]() Allerdings find ich, es ist geschmackssache, wie die aussieht. |
Re: DBGrid sortieren
Zitat:
Du solltest schon aus Gründen der Flexibilität (stell Dir eine neue Saison mit neuen/anderen Vereinen vor) schon mit Zuordnungstabellen arbeiten: Deine Manschaftstabelle könnte folgendermaßen aussehen: ID Name Ort Trallala (und was noch an Detailfeldern so interessan sein könnte) Deine Spieltabelle so ID Manschaft1 Manschaft2 Datum Ergebnis_zur_Halbzeit Endergebnis Dann die Manschaften aus der Manschaftstabelle ind der Spieltabelle referenzieren und schon bist Du wesentlich unabhängiger und flexibler. Irgendwo findest Du hier bestimmt ein Tutorial zum (sinnvollen) Einsatz/Aufbau von Datenbanken Moin |
Re: DBGrid sortieren
Hallo,
Delphi-Quellcode:
Das ist aber nicht die Ursache.var sComamndText: String; begin if Column.FieldName <> sSortColumn then begin sSortColumn := Column.FieldName; bSortOrder := True; // das hier ist neu end else begin bSortOrder := not bSortOrder; end; sCommandText := 'SELECT * FROM TTabelle ORDER BY ' + sSortColumn; if not bSortOrder then begin sCommandText:= sCommandText + ' DESC'; end; ADODataSet1.CommandText:= sCommandText; // mit F5 breakpoint drauf uns sCommandText ansehen ... Sorgt nur dafür das eine neu ausgewählte Spalte immer aufsteigend sortiert wird und ausserdem kannst du den CommandString besser debuggen Ausserdem würde ich das bSortOrder := True; auch ins FormCreate packen. Heiko |
Re: DBGrid sortieren
Liste der Anhänge anzeigen (Anzahl: 1)
@stifflersmom:
kann ich verstehen das argument von dir, aba!!:(Bitte das hier nicht als kritik auffassen)Es ist ein programm für mich, das ich mir selbst schreibe und es aus sehr warscheinlich selber benutzen werde. @hoika: ich glaube, es ist besser, wenn ich jetzt mal das programm mit source reinstelle, damit man mir sagen kann, wo ich genau fehler mache, den trotz deinem bemühens(wo ich mich hier bedanke) hat das an der situation leider nicht viel geändert. (bitte wegen dem aussehen und dem ausbau nicht beschweren(Typs zur verbesserung werden immer danken angenommen :-D ) |
Re: DBGrid sortieren
Hallo,
der Grund ist 1. kein AdoDataSet1.Close / Open mehr ich hatte dir da noch ... angegeben
Delphi-Quellcode:
Das ist aber nur die Spitze des Eis-Berges .. ;)
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var sCommandText : String; begin if Column.FieldName <> sSortColumn then begin sSortColumn := Column.FieldName; bSortOrder := True; end else begin bSortOrder := not bSortOrder; end; sCommandText := 'SELECT * FROM TTabelle ORDER BY ' + sSortColumn; if not bSortOrder then begin sCommandText:= sCommandText + ' DESC'; end; ADODataSet1.Close; ADODataSet1.CommandText:= sCommandText; ADODataSet1.Open; end; DBGrid1.DataSource -> DataSource1.DataSet -> TAdoDataSet So muss es aussehen. Bei dir steht TADoTable1 statt dem AdoDataset Bei der Gelegenheit kannst du auch im OI einen ersten CommandText eintragen und dann das Active auf true setzen. Heiko PS: Falls das AdoDataSet nicht als DataSet angezeigt wird, mache das erst mal mit em ComamndText und dem Active True |
Re: DBGrid sortieren
Zitat:
Zitat:
Heißt das: Das DBGrid bei "Eigentschaften" im Feld "datasource" datasource1 stehen hat,wodann im Feld "DataSet" Adodataset1 drinsteht? PS: Entschuldige wenn ich das net sofort verstehe, es ist mom. noch totales neuland für mich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz