AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL update, wie geht das?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL update, wie geht das?

Ein Thema von BBoy · begonnen am 4. Mär 2012 · letzter Beitrag vom 5. Mär 2012
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: SQL update, wie geht das?

  Alt 4. Mär 2012, 11:11
So in etwa?
Delphi-Quellcode:
UPDATE tabelleAutor
SET Name = :name, GebJahr = :gebjahr, Beruf = NULL
WHERE Nr = 10;
Ja, jeder Wert für ein Feld kann durch einen Parameter ersetzt werden. Die Parameter können dann später genau so befüllt werden wie bei Deim INSERT INTO.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: SQL update, wie geht das?

  Alt 4. Mär 2012, 13:14
und wie ist der syntax? Ich versuche es so und es kommt ne fehlermeldung:
update tour set TourPos= :TourPos, CacheLat= :CacheLat, CacheLon= :CacheLon
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: SQL update, wie geht das?

  Alt 4. Mär 2012, 13:18
Was für eine Fehlermeldung ? Meine ist heute defekt.

Du musst den Update-Befehl genau so durchführen, wie den INSERT-Befehl. Also den Update-Befehl in die Query schreiben, den Parametern die Werte zuweisen und dann ausführen.

Edit:
und wie ist der syntax? Ich versuche es so und es kommt ne fehlermeldung:
update tour set TourPos= :TourPos, CacheLat= :CacheLat, CacheLon= :CacheLon
Wo ist die Where-Abfrage ? Woher soll die Query wissen, welchen Datensatz Du ändern möchtest ? Siehe Beispiel aus Beitrag 4.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: SQL update, wie geht das?

  Alt 5. Mär 2012, 12:58
Die Fehlermeldung: "Records must be unique with respect to 'GCCode'

Wieso muss bei einem update der index einmalig sein?

Hier meine Anweisung:
TdbQuery_insupd.SQL.Text := 'update logs set GCCode= :GCCode, LogId= :LogId, LogDate= :LogDate, LogType= :LogType, LogFinderId= :LogFinderId, LogFinder= :LogFinder, LogTextEn= :LogTextEn, LogText= :LogText where gccode = '+QuotedStr(CName);
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: SQL update, wie geht das?

  Alt 5. Mär 2012, 13:05
SQL-Code:
update
  logs
set
  LogId = :LogId,
  LogDate = :LogDate,
  LogType = :LogType,
  LogFinderId = :LogFinderId,
  LogFinder = :LogFinder,
  LogTextEn = :LogTextEn,
  LogText = :LogText
where
  gccode = :GCCode
So wird ein Schuh draus. Und warum soll beim Update der Index-Spalte (nach der du einschränkst) ein Wert zugewiesen werden - auch wenn es der gleiche Wert ist.

Bei einem Update muss der Index nicht eindeutig sein, es wird halt bei jedem Datensatz geschrieben, der gefunden wird.

ABER, wenn du in der Tabelle einen PRIMARY KEY hast (z.B. das Feld id) und willst den per
Update MyTable Set id=1 da Änderungen rein bringen, was wird dann deiner Meinung nach passieren.
Jo, jeder Datensatz bekommt also im Feld id die 1 reingedrückt. Und dann, ist dann id immer noch eindeutig, also ein PRIMARY KEY?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 5. Mär 2012 um 13:09 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: SQL update, wie geht das?

  Alt 5. Mär 2012, 13:30
ja ok, endlich verstanden
Wieder was gelernt, danke für eure Hilfe!
  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 08: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