Einzelnen Beitrag anzeigen

toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#70

Re: Ideen für spezielle Stringbearbeitung

  Alt 5. Aug 2008, 22:47
Zitat von marabu:
Hallo,

du hast vergessen die Stelle zu bezeichnen, an der der Fehler auftritt.

Außerdem scheint es so, als ob du versuchst ein feature der ADO-Komponenten nachzubilden: Parameter. Statt des Dollarzeichens verwendest du dann einen Doppelpunkt:

Delphi-Quellcode:
const
  SQL_SEL_ACCTS
    = 'SELECT iid, domain, user_account '
    + 'FROM DWWinUserID '
    ;
  SQL_SEL_USER
    = 'SELECT name, password, guid, settings, active '
    + 'FROM DWUser WHERE name = :benutzername '
    ;
  SQL_UPD
    = 'UPDATE DWUser SET settings = :xml '
    + 'WHERE name = :benutzername '
    ;
Die durch den Doppelpunkt markierten Parameter werden dir in der Eigenschaft Params einer DataSet-Komponente zur Manipulation angeboten. Ein Beispiel von vielen zum Umgang mit Params findest du z.B. hier: klick

In deinem konkreten Fall könnte der XML Parser direkt aus einem BlobStream lesen und dort auch wieder hin schreiben. Dabei könnten dir die Funktionen LoadDocument() und SaveDocument() helfen.

BTW: "name" ist kein besonders gut gewählter Name für eine Spalte.

Freundliche Grüße

Hey

Der Fehler tritt im Ausführungsmoment auf (ExecSQL). Ich befürchte der XML String ist zu lang um den in einen SQL Update einzubetten. Ist das möglich?
Wie ich ADO Parameter verwende weiss ich und verwend ich auch ab und zu. Aber nicht in diesem Fall wo es sich um ein einfaches Projekt handelt. So ist diese Lösung für mich die einfachere und naheliegendere.
Den Spaltennamen "name" ist nicht nach meinem Wunsch so getauft worden. Dies hat die Herstellerfirma der Software so gemacht und ist somit nicht in meinem Einflussbereich. Ich muss damit arbeiten obs schlau ist oder nicht.
  Mit Zitat antworten Zitat