Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid/ADODataSet sortieren. WIE? (https://www.delphipraxis.net/117506-dbgrid-adodataset-sortieren-wie.html)

Dark Angel 23. Jul 2008 11:13

Re: DBGrid/ADODataSet sortieren. WIE?
 
Aha, gut. Ich habe bereits nach euren Anweisungen den Datentyp für die „Temperatur in °C“-Spalte von String auf Float geändert. Eingegeben wird die Temperatur per Hand in ein Editfeld

Delphi-Quellcode:
if Ed_Temp.text = ' ' then begin    // damit keine Fehlermeldung auftaucht
   Temperatur := 0;        // das ist die globale Variable für die Temperatur
   Ed_Temp.text := '0';         // ..und der Eintrag ins Editfeld
 end
 else begin
   Temperatur := strtofloat(Ed_Temp.text)   // oder eben bei einer Temperatureintragung die
// richtige Temperatur
 end;
Insgesamt habe ich 48 Werte in der Datenbank, will aber in Delphi (DBGrid) nur 12 anzeigen. Bis auf die Temperatur sind alle anderen Werte Stringwerte, da ich nur nach der Temperatur ordnen will. Diese Temperatur wird dann mit den anderen in die ADOTable1 geschrieben.

Delphi-Quellcode:
ADOTable1.append;
  ADOTable1.edit;
….
  ADOTable1.Fields[6].asFloat := Temperatur;                      // Realzahl
….
Und dann über die Connection zur DB Grid angezeigt. Mach ich das soweit richtig, oder?

Zusätzlich will ich dass der Benutzer die Daten ändern kann, die in der Datenbank stehen. Das mache ich so:
procedure TForm6.DBGrid1ColExit(Sender: TObject);
begin

Delphi-Quellcode:
if ADOConnection1.Connected then
  if ADOTable1.active then
  if gridchange=false then begin
  ADOTable1.edit;
….
  ADOTable1.Fields[6].asFloat := strtofloat(ADOTable1.Fields[6].text);
….


  ADOTable1.Post;
  end;

end;


Wenn du noch andere Sachen wissen willst, muss t du mir das bitte genauer erklären was du willst.

Jelly 24. Jul 2008 10:37

Re: DBGrid/ADODataSet sortieren. WIE?
 
Ich will doch nur die Tabellenstruktur sehen. Von mir aus öffne deine Tabelle in Access im Design Modus und mach ein Screenshot.

N.B.:
statt über
Delphi-Quellcode:
Fields[6]
kannst du auch mittels
Delphi-Quellcode:
FieldByName('Temperatur in °C')
auf die entsprechende Spalte zugreifen. Das erhöht die Übersicht, und ist nicht so fehleranfällig, falls sich mal eine neue Spalte dazwischenmogelt, denn dann müsstest du den Index von 6 auf 7 anpassen.

Dark Angel 24. Jul 2008 12:08

Re: DBGrid/ADODataSet sortieren. WIE?
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier, bitte.

Deinen Vorschlag werd ich gleich mal umsetzen, danke.

Jelly 24. Jul 2008 12:54

Re: DBGrid/ADODataSet sortieren. WIE?
 
Ich hab mir jetzt, nach Überprüfung der DB Struktur, nochmals dein Screenshot aus Posting #15 angeschaut. Ein Order By liefert nämlich definitiv die richtige Reihenfolge. Aber du hast dich total vertan in der Zuweisung des Datasets an deine DataSource1. Da solltest du dann aber auch bitte schön ADODataSet1 wählen, und nicht ADOTable1 :wall:

Dark Angel 24. Jul 2008 13:45

Re: DBGrid/ADODataSet sortieren. WIE?
 
VIELEN VIELEN DANK

Ich bin ja da noch sehr unerfahren. Und ich hab da einfach immer das eingetragen was ium dropdown zur auswahl stand. und da war nur ADOTable weil ich bei ADODataSet unter DataSource schon DataSouce eingestellt habe und dann kommt der fehler "keine zirkuläe...irgenwas...".

Die ortnung klappt jetzt aber ich glaub da stimmt mehr nicht, weil ich jetzt die dtensätze die ich aktuell unter der programmlaufzeit abspeichere nicht sofort in der DBGrid zu finden sind sondern erst nach einem neustart des programms. aber ich hab die "Verdindungen" und die "Aktive" immer auf true.
Kannst du mir mal sagen was ich wie mit wem richtig verbinden muss damit alles klappt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Seite 3 von 3     123   

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