Update bei TQuery



  • Moin,

    ich habe ein Problem beim (automatischen) Updaten einer Query, die mit ALIAS -Feldern arbeitet.
    Ich binde die Daten(DB) über TADOConnection - TQuery - TDataSource an ein TDBGrid...
    Mein SQL-String lautet z.B.
    SELECT tabName.ID AS _ID, tabName.Nummer AS _Nummer FROM tabName
    Diese Datenmenge wird wunderbar angezeigt..

    Ändere ich allerdings etwas in einem Datensatz kommt die Meldung, daß das Feld _ID nicht gefunden wird ... Es sieht so aus als würde das Grid eine neue SQL-Abfrage generieren, die mit den Aliasnamen arbeitet !!??
    Kann man dies ev. ganz abschalten (ich generiere meine Updates lieber selber)
    oder gibts sonst eine Abhilfe...

    😕 Ideen
    Wilfrid

    [ Dieser Beitrag wurde am 24.01.2003 um 09:19 Uhr von wilfrid editiert. ]



  • Das ist ein SQL-Verständnis Problem.
    Mit dem "AS"-Befehl sagst du ja nur, dass du die Spalte mit einem anderen anzeigen möchstest.
    Der "AS"-Befehl gilt nur für den momentanen SQL-Befehl.
    Folgendes ist z.B. zulässig:
    SELECT feld1 AS MeinFeld, feld2
    FROM Tabelle
    ORDER BY MeinFeld

    Dies ist gleich wie dieser Befehl:
    SELECT feld1 AS MeinFeld, feld2
    FROM Tabelle
    ORDER BY feld1

    Allerdings bleibt ja der Name in der Datenbank der gleiche - wird nicht verändert!

    Folglich musst du bei Update, Insert etc den Original-Feldnamen verwenden.



  • Hallo Wifrid,
    soweit ich das ganze verstanden hab, ist die Antworttabelle eine reine Datensicht, d.h du kannst nur in der Originaltabelle etwas ändern und musst dann auch die ursprünglichen Spaltenüberschriften für die Änderung in dem SQL Statement angeben. In der Antworttabelle kannst du meiner Ansicht nach nichts ändern.
    Gruß Eilig



  • Ok einverstanden,
    soweit ist mir das schon alles bewusst, aus genau diesem Grunde mache ich ja meine Updateroutine auch selbst !
    (im DataSet->OnDataChange steht mein eigener Updatebefehl)
    Allerdings will das Grid slebst auch noch ein (automatisches) Update durchführen, welches (natürlich) schiefgehen muß (weil die ALIAS-Namen benutzt werden! Deshalb will ich eigentlich nur erreichen, daß ich wohl im Grid (oder in einer Editline) meine Daten editieren kann ohne daß die automatik zuschlägt !!

    😕


Anmelden zum Antworten