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
 
aurikel_Max

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

Re: Werte im DBGrid ändern

  Alt 4. Apr 2010, 18:54
Also, ich habe mir gerad zu Testzwecken ein kleines Programm geschrieben, das erzeugt die Datenbank nach folgenden Befehlen:

Delphi-Quellcode:
dsqlDatabase.DatabaseName := 'aktien.db';
dsqlDatabase.CreateDatabase;
dsqlDatabase.Execute16('CREATE TABLE aktienwerte (Datum DATE);');
Jetzt hab ich in den Demos zu der Komponente etwas gefunden, das hab ich mal für meinen Fall umgeschrieben:
Delphi-Quellcode:
procedure TfmDate.btInsertClick(Sender: TObject);
const
  InsertSQL = 'INSERT INTO aktienwerte (Datum) VALUES (?);';
var
  Datum: string;
  Stmt: TDISQLite3Statement;
begin
  Datum := '2010-12-01';
  Stmt := dsqlDatabase.Prepare16(InsertSQL);
  try
    Stmt.Bind_Str16(1, Datum);
    Stmt.Step;
  finally
    Stmt.Free;
  end;
end;
Das entspricht doch den Parametern oder?
Dennoch speichere ich im Moment das Datum ebenfalls als String ab (oder?), allerdings gibt es auch keine Stmt.Bind_Date Funktion in der Demo hatte ich allerdings zu dem Punkt folgendes Zitat gefunden:
Zitat:
{ We bind all columns as strings. DISQLite3 will convert them to
integers or floats as appropriate. }
(wobei mein Datum ja trotzdem kein Integer bzw. Float ist)

Jetzt hatte ich ebenfalls probiert, ein Insert über die Query-Komponente zu versuchen, dabei hatte ich folgendes geschrieben:

Delphi-Quellcode:
procedure TfmDate.btInsert2Click(Sender: TObject);
begin
  dsqlQuery.InsertSQL :=
    'INSERT INTO aktienwerte (Datum) VALUES (:Datum);';
  dsqlQuery.Params.ParamByName('Datum').Value := StrtoDate('2010/12/01');
  dsqlQuery.Insert;
end;
Dabei bekomm ich aber immer den Fehler, dass 2010-12-01 kein gültiges Datum ist. (ich hatte ebenfalls "20101201", 2010.12.01, "2010,12,01" und 2010/12/01 versucht -> überall der gleiche Fehler).


Über die erste Insert-Methode konnte ich Werte in die Datenbank schreiben (auch wenn ich das Datum als String speichere), wenn ich die gespeicherten Werte nun anzeigen möchte, wird mir in dem DBGrid nur "2010" angezeigt.

(bei Interesse kann ich auch gern den ganzen Code posten bzw. hochladen)
Max
  Mit Zitat antworten Zitat
 


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 02:05 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