AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Tabellen-Update nur auf bestimmte Spalten?
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellen-Update nur auf bestimmte Spalten?

Ein Thema von meggles · begonnen am 4. Feb 2004 · letzter Beitrag vom 4. Feb 2004
Antwort Antwort
meggles
(Gast)

n/a Beiträge
 
#1

Tabellen-Update nur auf bestimmte Spalten?

  Alt 4. Feb 2004, 10:05
Hallo,
Ich habe ne Tabelle zum Speichern von Emails, mit 5 Spalten. (Die Tabelle speichert Ordner-ID, Datum etc... und in einem BLOB-Feld das IdMessage-Objekt).
Für diese Tabelle habe ich auch eine Update-Prozedur estellt, die alle Feldwerte entsprechend der Eingabeparameter aktualisiert (wenn ich z.B. auf "Email speichern" klicke)
An einer Stelle in meiner Anwendung möchte ich die Mail aber in den Papierkorb schieben, müsste also ebenfalls ein Update machen - das macht mit dieser Prozedur aber keinen Sinn, weil ich ja nur die Ordner-ID verändern will. Alle anderen Eingabeparameter werden von dieser Update-StoredProcedure aber als Eingabeparameter erwartet, ich müsste also für die Ordner-ID einen anderen Wert (=die ID vom Papierkorb) angeben, für die anderen vier Feldwerte aber die gleichen Werte, die ja eh schon in der Datenbank sind. Die müsste ich an dieser Stelle im Programm aber extra dafür auslesen.
Meine Frage: Lässt sich so eine Updateprozedur nicht irgendwie intelligenter schreiben (ich hab übrigens Interbase 7), so in der Art: "Ändere nur die Felder, für die ich Dir einen Wert gebe, alle anderen lass, so wie sie sind" ...?

Danke Euch gleich mal,

Simon
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Tabellen-Update nur auf bestimmte Spalten?

  Alt 4. Feb 2004, 10:11
Mit einer AdoQuery:
Delphi-Quellcode:
  With Query Do
  Begin
    SQL.Text :=
      'Update EmailTabelle t' + #10 +
      ' Set OrdnerID = :i_NewOrdnerID' + #10 +
      'WHERE DeinPrimKey = :i_PrimKey';
    Prepared := True;
    Parameters.ParamByName('i_NewOrdnerID').Value := [NeuerWert];
    Parameters.ParamByName('i_PrimKey').Value := [Id_Der_Email];
    ExecSQL;
  End;
Warum eine Proz. in der DB für ein einzelnes UPDATE-Statement (lohnt sich auch bei allen Spalten nicht)?
  Mit Zitat antworten Zitat
meggles
(Gast)

n/a Beiträge
 
#3

Re: Tabellen-Update nur auf bestimmte Spalten?

  Alt 4. Feb 2004, 10:16
Ich dachte mir halt, dass es generell günstiger ist, wenn sowas den Server mit einer SP erledigen lässt. Aber es leuchtet auch ein, ein einzelnes UPDATE einfach vom Client abzusetzen.
Danke jedenfalls!!

Simon
  Mit Zitat antworten Zitat
Antwort Antwort


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 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz