Einzelnen Beitrag anzeigen

hardy1234

Registriert seit: 8. Aug 2004
Ort: Hamburg
26 Beiträge
 
Delphi 7 Enterprise
 
#28

Re: SQL Datenübergabe an DB?!?

  Alt 3. Jan 2005, 05:36
Hey Jelly,

ich hab das wohl richtig verstanden, das Du danach fragst , wie du das ergebnis in die richtige zeile und spalte der Tabelle bekommst. Ich arbeite nun mit Postgre und Firebird. Wollen mal sehen ob wir uns einig sind:

tablename
Name Datum Wert Summe
1. aaaaa xx.xx.xxxx xxxx
2. bbbbb xx.xx.xxxx xxxx
3. ccccc xx.xx.xxxx xxxx
4. aaaaa xx.xx.xxxx xxxx
5. bbbbb xx.xx.xxxx xxxx

Angenommen du willst die Summe in das Feld Summe des 3. Datensatzes in die Spalte "SUMME" schreiben, dann sieht das mit Firebird/Delphi so aus:

proc
var
q: string;
begin
Query.SQL.Clear;
q := 'UPDATE tablename SET SUMME = ''' + summe + '''' +
'WHERE (NAME = ''' + name + ''') AND ( DATUM = ''' + bis + ''')';
Query.SQL.ADD(q);
try
Query.SQL.ExecSQL;
except
end;
end;

Du mußt aber auf die Datentypen achten, die müssen alle Text sein sonst wird das nix. Am besten siehst Du dir das Ergebnis der Stringzusammensetzung im Debugger an und vereinbarst vorsorglich eine string-variable (w.o) zum probieren. Wenn summe den typ real hat, dann

... + FloatToStr(summe) + ...

bis: TDateTime

... DATUM = ASDATE(''' + DateToStr(bis) + ...

in einem Zug geht das freihlich nicht. Das ginge nur mit einer Stored-Procedure. Ob das bei dir dann konsistent ist mußt du wissen, jeder Zeile mit aaa darf jedes Datum nur genau einmal zugewiesen sein. Sonst geht das natürlich schief.
Es gibt keinen schöneren Tag als den heutigen. Der gestrige ist vorbei und von den kommenden weiß man nicht was sie bringen.
  Mit Zitat antworten Zitat