AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid sortieren

Ein Thema von Chamb · begonnen am 24. Jun 2008 · letzter Beitrag vom 25. Jun 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: DBGrid sortieren

  Alt 25. Jun 2008, 10:36
Stimmt der Connectionstring?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Chamb

Registriert seit: 20. Jun 2008
Ort: Daun
30 Beiträge
 
RAD-Studio 2009 Ent
 
#12

Re: DBGrid sortieren

  Alt 25. Jun 2008, 10:41
in wie weit??

Was sollte das stehen??

Also mom. steht da
Zitat:
Provider=MSDASQL.1;Password="";Persist Security Info=True;Data Source=Liga
(soweit ich weiß sollte das stimmen)
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: DBGrid sortieren

  Alt 25. Jun 2008, 11:00
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?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#14

Re: DBGrid sortieren

  Alt 25. Jun 2008, 11:10
Zitat von stifflersmom:
Zitat von shmia:
Sie ist also komplett leer!
Nö, stimmt nicht
Oh, hoppla, ich war in Access nur auf Seite "Abfragen" und habe so die Tabellen übersehen.

Der ConnectionString müsste so aussehen:
Code:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Fussball2008.mdb;Persist Security Info=False
Die Tabelle TKreuztabelle gefällt mir allerdings überhaupt nicht, da sie als Feldnamen die Namen der Vereine trägt.
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| ....
Andreas
  Mit Zitat antworten Zitat
Chamb

Registriert seit: 20. Jun 2008
Ort: Daun
30 Beiträge
 
RAD-Studio 2009 Ent
 
#15

Re: DBGrid sortieren

  Alt 25. Jun 2008, 12:18
Zitat von shmia:
Der ConnectionString müsste so aussehen:
Code:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Fussball2008.mdb;Persist Security Info=False
okay, sehe ich ein, dass der etwas anders sein soll.

Zitat:
1:0 für programmierer
jetzt ist allerdings ein neuer Fehler aufgetretten.

Jetzt konnt zwar nicht mehr die Fehlermeldung, aba es wird auch nix sortiert!

Zitat:
1:1 ausgleich
Allerdings habe ich den Source ertwas verändert.

Der sieht jetzt so aus:

Delphi-Quellcode:
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;
Könnte es vllt. jetzt daran liegen, das ich den Code etwas verändert habe, dass jetzt nichts sortiert wird?

Zitat:
Die Tabelle TKreuztabelle gefällt mir allerdings überhaupt nicht, da sie als Feldnamen die Namen der Vereine trägt.
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| ....
ich hab mir eine "Kreuztabelle"(so ähnlich sah die auch im Kicker letztes jahr aus und so sieht die auch bei wikipedia aus) so vorgestellt.

Allerdings find ich, es ist geschmackssache, wie die aussieht.
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

Re: DBGrid sortieren

  Alt 25. Jun 2008, 12:27
Zitat von Chamb:
Allerdings find ich, es ist geschmackssache, wie die aussieht.
Nö,das ist nicht wirklich eine Geschmacksfrage.
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
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: DBGrid sortieren

  Alt 25. Jun 2008, 12:32
Hallo,



Delphi-Quellcode:

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

  ...
Das ist aber nicht die Ursache.
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
Heiko
  Mit Zitat antworten Zitat
Chamb

Registriert seit: 20. Jun 2008
Ort: Daun
30 Beiträge
 
RAD-Studio 2009 Ent
 
#18

Re: DBGrid sortieren

  Alt 25. Jun 2008, 12:56
@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 )
Angehängte Dateien
Dateityp: rar fu_ball_770.rar (384,5 KB, 9x aufgerufen)
Gruß


Chamb
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: DBGrid sortieren

  Alt 25. Jun 2008, 13:26
Hallo,

der Grund ist

1. kein AdoDataSet1.Close / Open mehr

ich hatte dir da noch ... angegeben

Delphi-Quellcode:
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;
Das ist aber nur die Spitze des Eis-Berges ..

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
Heiko
  Mit Zitat antworten Zitat
Chamb

Registriert seit: 20. Jun 2008
Ort: Daun
30 Beiträge
 
RAD-Studio 2009 Ent
 
#20

Re: DBGrid sortieren

  Alt 25. Jun 2008, 13:57
Zitat von hoika:
Das ist aber nur die Spitze des Eis-Berges ..
Tja, daran kann ich nix mom. ändern. Ich möcht ja noch lernen.

Zitat von hoika:
DBGrid1.DataSource -> DataSource1.DataSet -> TAdoDataSet
So muss es aussehen.
Bei dir steht TADoTable1 statt dem AdoDataset
das versteh ich nicht ganz.

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.
Gruß


Chamb
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz