![]() |
Datenbank: MS Server • Version: 2008 • Zugriff über: ADO
GUID Parameterübergabe ADOQuery
Hallo
ich hänge mal wieder ziemlich fest. Ich führe ein SQL Update aus und übergebe die Werte mit Parametern. Ein Wert ist eine Identifikationsnummer(GUID) die ich auch übergeben will. Ist die Numnmer nicht Gesetzt kommt ein 'NULL' als string zurück was dann zu einen Fehler führt. Kann man das irgendwie in der Query einstellen. hier mal mein Code
Delphi-Quellcode:
CreateQuery(qtemp);
qtemp.ParamCheck := true; qTemp.SQl.text := 'UPDATE AnalyseAkquiseConfig SET '+ 'Event = :Event, ' + 'Betreff = :Betreff, ' + 'TerminText = :TerminText, ' + 'MitTyp = :MitTyp, ' + 'IAkteAkquise = :IAkteAkquise, ' + 'MitDSN = :MitDSN, ' + 'KontaktTyp = :KontaktTyp, ' + 'ProzessDSN = :ProzessDSN ' + 'OnOwnEventNoCreate = :OnOwnEventNoCreate, '+ 'Gewichtung = :Gewichtung ' + 'WHERE DSN = '+alsDSN(sSatzDSN); //Parameterübergabe qtemp.Parameters.ParamByName('Event').Value := IntToStr(ZuAkqEvntNr(cbEvent.ItemIndex)); qtemp.Parameters.ParamByName('Betreff').Value := eBetreff.Text; qtemp.Parameters.ParamByName('TerminText').Value := Bemerkungen.Text; qtemp.Parameters.ParamByName('MitTyp').Value := AlsZahl(IntToStr(cbMitarbeiter.ItemIndex)); qtemp.Parameters.ParamByName('IAkteAkquise').Value := AlsZahl(IntToStr(cbAktion.ItemIndex)); qtemp.Parameters.ParamByName('MitDSN').Value := '{B6625AD8-D894-4D25-BCBE-6A610E295903}';//AlsDSN(beMitarbeiter.DSN); qtemp.Parameters.ParamByName('KontaktTyp').LoadFromStream(sStream,ftBlob); qtemp.Parameters.ParamByName('ProzessDSN').Value := ProzessSQL;// Result := 'NULL' oder GUID qtemp.Parameters.ParamByName('OnOwnEventNoCreate').Value := BoolToStr(cbOnOwnEventNoCreate.Checked); qtemp.Parameters.ParamByName('Gewichtung').Value := AlsZahl(IntToStr( AkquiseBewertungZuInt( TGewichtung(cbPrioritaet.ItemIndex), TGewichtung(cbStorno.ItemIndex), TGewichtung(cbAbschluss.ItemIndex), TGewichtung(cbKundenbindg.ItemIndex), TGewichtung(cbProv.ItemIndex), TGewichtung(cbHaftung.ItemIndex)) )); qTemp.ExecSQL; |
AW: GUID Parameterübergabe ADOQuery
Bist Du sicher, dass 'NULL' zurückkommt? Und wenn, was soll dann stattdessen eingetragen werden? Sind NULL-Werte in dem entsprechenden Feld erlaubt?
|
AW: GUID Parameterübergabe ADOQuery
Ich habe da so meine Probleme den Fehler nach zu vollziehen.
wenn "ProzessDSN" als String(varchar/char....) definiert ist, dann sollte man von '',' ','NULL'' bis 'PillePalle' eigentlich alles übergeben können was einem in den Sinn komt. Gruß K-H |
AW: GUID Parameterübergabe ADOQuery
Die Spalte"ProzessDSN" ist mit uniqueidentifier gesetzt.
Wird jetzt 'NULL' gesetzt kommt der Fehler Falsche Convertierung. Das Result von ProzessSQL ist string. |
AW: GUID Parameterübergabe ADOQuery
Wenn das Feld einen Default-Wert besitzt, könnte man evtl. abhängig davon, ob ProzessSQL eine GUID zurückgibt, unterschiedliche Statements implementieren (einmal mit und einmal ohne Angabe der GUID).
|
AW: GUID Parameterübergabe ADOQuery
Zitat:
spätestens beim zweiten gleichen Eintrag sollte es krachen!? Gruß K-H |
AW: GUID Parameterübergabe ADOQuery
Was ich meinte:
![]() |
AW: GUID Parameterübergabe ADOQuery
Pardon, ein Mistverständnis!
Gruß K-H |
AW: GUID Parameterübergabe ADOQuery
Kein Thema, ich hatte mich auch missverständlich ausgedrückt ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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