AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Werte im DBGrid ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Werte im DBGrid ändern

Ein Thema von aurikel_Max · begonnen am 2. Apr 2010 · letzter Beitrag vom 4. Apr 2010
Antwort Antwort
Seite 3 von 5     123 45      
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#21

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 16:45
Erstmal danke ich Euch beiden für die Antworten.

Zitat von haentschman:
Der Database Browser formatiert nur die optische Ausgabe. Der Inhalt in der DB wird dabei nicht verändert (wenn es ein DATE Feld ist).

1. Laß mal den Browser einmal aus den Augen.
2. Zeige, wie du das Datum in die DB einträgst.
3. wenn du per SQL das Datum ausliest, wie wird das Datum in einem normalen DBGrid angezeigt ?
1. Okay.
2. Wie gesagt, im Moment noch per Hand, später über den Befehl von oben.
3. Das kommt drauf an, aber hab ich das nicht schon in Beitrag #14 (http://www.delphipraxis.net/internal...144178#1144178) geschrieben, oder versteh ich Dich gerade falsch (das kann auch sein)?

Zitat von haentschman:
Edit:
- wie Deddy schon sagte, Parameter sind besser.
Zitat von DeddyH:
Ich hab jetzt nicht genau verfolgt, welche Lib Du für den Zugriff verwendest, aber wenn diese Parameter unterstützen sollte, solltest Du diese auf jeden Fall verwenden.
Ich verwende DISQLite3 Personal, auf den ersten Blick hab ich nichts zu Parametern gefunden, allerdings kann das auch daran liegen, dass ich nicht weiß, was Parameter sind. (bitte nicht steinigen )

Edit: Da Du deinen Post aktualisiert hast, mach ich das auch mal eben, wenn ich meine SQL-Abfrage in
SELECT datum FROM aktienwerte umforme, ist das Ergebnis folgendes (in meinem DBGrid):
http://img39.imageshack.us/img39/3951/dbgridsql.png

Zur Zeit liegen die Werte in der Datenbank in folgender Form (betrachtet über den SQLite Database Browser) vor:
http://img339.imageshack.us/img339/5...rmatierung.png
Max
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#22

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 16:51
ein Beispiel Zeos mit Parametern:
Delphi-Quellcode:
ZQueryDiv.SQL.Text:= 'insert into VERSION (VERSION,DATUM) values(:Version,:Datum)';
ZQueryDiv.ParamByName('Version').Value:= UVersion;
ZQueryDiv.ParamByName('Datum').Value:= StrToDate(UVersionDatum);
ZQueryDiv.ExecSQL;
ZQueryDiv --> deine Query. Dann schauen ob ParamByName oder so ähnlich vorhanden ist.

zu deinem Edit: und was passiert, wenn du das TDateTimeField(dsqlBlubbaQuery.FieldByName('Datum' )).DisplayFormat := 'dd.mm.yyyy' nach dem Query Open einstellst ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#23

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 16:53
Was ich meinte, sind parametrisierte Statements.
Delphi-Quellcode:
Query.SQL.Text := 'INSERT INTO Tabelle(Datum) VALUES(:datum)';
Query.ParamByName('datum').Value := StrToDate('01.01.2010');
Query.ExecSQL;
[edit] Nanu, roter Kasten, wo bist Du geblieben? [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#24

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 16:54
DeddyH hats genauer... PS: warum besetzt ?
  Mit Zitat antworten Zitat
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#25

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:05
Danke für die Erklärung mit den Parametern, dass schau ich mir genauer an, wenn ich das Problem mit dem DBGrid gelöst habe.

Zitat von haentschman:
zu deinem Edit: und was passiert, wenn du das TDateTimeField(dsqlBlubbaQuery.FieldByName('Datum' )).DisplayFormat := 'dd.mm.yyyy' nach dem Query Open einstellst ?
_
http://img535.imageshack.us/img535/3708/tdatetime.png
(das Bild zeigt einmal die Prozedur, sowie das DBGrid)

Ich hab, wie auf dem Bild zu sehen, "TDateTimeField(dsqlBlubbaQuery.FieldByName('Datum ')).DisplayFormat := 'dd.mm.yyyy'" in die AfterOpen-Prozedur geschrieben, das Ergebnis ist das Gleiche.

Edit:
Zitat von DeddyH:
[edit] Nanu, roter Kasten, wo bist Du geblieben? [/edit]
Was für ein Kasten?

Edit2: Falls es hilft, kann ich auch nochmal den ganzen Inhalt der Datenbank auf einem Screenshot festhalten.
Max
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#26

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:13
zugegeben...langsam gehen mir die Ideen aus. 100 mal schon gemacht und es ist wie es sein soll.

- sicher, daß das AfterOpen auch ausgeführt wird ? Schreib das mal einfach unter den Open Befehl.
- das Bild ist ein normales DBGrid ?

Edit: irgendwie versteh ich nicht, daß das Datum (sprich der DATE Wert in der DB) im DBGrid nicht richtig angezeigt wird. Normalerweise braucht man sich um diese Darstellung keine Mühe machen. Irgendwo fummelt wer daran rum
  Mit Zitat antworten Zitat
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#27

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:32
Zitat von haentschman:
- sicher, daß das AfterOpen auch ausgeführt wird ? Schreib das mal einfach unter den Open Befehl.
Hab ich mit einem Haltepunkt überprüft und ein Open hat auch nicht geholfen :/
Zitat von haentschman:
- das Bild ist ein normales DBGrid ?
Das ist ein ganz normales TDBGrid.

Vielleicht hilft es ja, hier nochmal die komplette Struktur der Datenbank, sowie der Inhalt von "aktienwerte":

http://img688.imageshack.us/img688/3...ktursqlite.png
(ich hoffe, dass das Bild nicht problematisch ist (wegen der Größe))

Zitat von haentschman:
zugegeben...langsam gehen mir die Ideen aus. 100 mal schon gemacht und es ist wie es sein soll.
Hab ich die Daten überhaupt richtig abgespeichert? (siehe Screenshot)

Gruß.
Max
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#28

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:35
Ich vermute, da steht bereits "Schrott" in der Tabelle. Falls das nur Testdaten sind, würde ich an Deiner Stelle die gesamte Tabelle droppen, neu anlegen und korrekt befüllen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#29

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:47
da steh ich mit DeddyH auf einer Stufe. ich denke auch, daß bereits in der DB was nicht stimmt und du dir damit
Delphi-Quellcode:
dsqlAktien.Execute16
      ('INSERT INTO aktienwerte(AktienID,Datum,Kurs) VALUES (' + #39 +
      string_id + #39 + ', ' + #39 + string_date + #39 + ', ' + #39 +
      string_value + #39 + ');');
irgend was komisches reinschreibst.

...mach mal ne Pause und schaue ob deine Query Parameter unterstützt. Wir müssen erst mal sicherstellen, daß in der DB auch das richtige steht.
  Mit Zitat antworten Zitat
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#30

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 17:47
Zitat von DeddyH:
Ich vermute, da steht bereits "Schrott" in der Tabelle. Falls das nur Testdaten sind, würde ich an Deiner Stelle die gesamte Tabelle droppen, neu anlegen und korrekt befüllen.
Es ist kein Problem, die Datenbank neu zu erstellen, diese würde ich allerdings wieder mit dem SQLite Database Browser erstellen und befüllen, dann musst Du mir aber bitte sagen, wie die Formatierung beim Typ DATE ist (mit Bindestrich, Punkt, Komma, direkt aneinander).

Wenn ich mir http://www.sqlite.org/lang_datefunc.html anschaue, steht da u.a.:
Zitat von http://www.sqlite.org/lang_datefunc.html:
A time string can be in any of the following formats:

1. YYYY-MM-DD
Müsste ich es also zB. 2010-01-30 (für den 30igsten Januar 2010) eintragen?

Liebe Grüße.
Max
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 23:00 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