![]() |
Datenbank: Firbird • Version: 2.5.4 • Zugriff über: IBO
ParamByName geht und geht mal nicht
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich mache folgende Zuweisung.
Delphi-Quellcode:
Einige Male funktioniert die Zuweisung, dann kommt aber plötzlich ohne das was geändert wurde diese Meldung: ...Exception der Klasse EVariantInvalidArgError mit der Meldung 'Ungültiges Argument' aufgetreten.
Query_Ziel.ParamByName('PATIENTNR').Value := qryBildAlt.FieldByName('PATIENTNR').AsInteger;
siehe auch den Anhang. Ich weiß nicht wieso diese Meldung kommt Kennt jemand das Problem und wie kann ich das beheben. Habe schon mit AsInteger probiert aber gleiche Meldung. Danke für Eure Hilfe. |
AW: ParamByName geht und geht mal nicht
Zitat:
Delphi-Quellcode:
Query_Ziel.ParamByName('PATIENTNR').AsInteger := qryBildAlt.FieldByName('PATIENTNR').AsInteger;
EVariantInvalidArgError > ![]() Dieser Fehler taucht gern bei Variant-Arrays auf, aber eigentlich sollte das hier nicht vorkommen. Tritt der Fehler wirklich in dieser Zeile auf, oder zeigt nur Delphi diese Zeile nach dem Fehler an? Achte bei sowas auch immer auf den Befehl davor, denn im Stacktrace stehen nur Rücksprungadressen und nicht die Sprungadressen. Der Debugger hat da gern mal Probleme den vorherrigen fehlerhaften Befehl zu bestimmen und zeigt dann den Nachfolgenden an. Eventuell ist das auch nur ein Folgefehler und die eigentliche Ursache liegt wo anders. z.B. igendwo ein Bufferoverflow, welcher etwas überschreibt und das sich erst an dieser Stelle auswirkt. PS: Fehlerdialoge wissen was Strg+C ist und im Formum kann man das dann als Text via Strg+V einfügen. |
AW: ParamByName geht und geht mal nicht
OK, hier mal die ganze Anweisung:
Delphi-Quellcode:
Beim Debuggern tritt der Fehler genau in der Zeile auf.
qryBildAlt.Close;
qryBildAlt.SQL.Clear; qryBildAlt.SQL.Add('select P.patientnr from tbl_patient P order by P.patientnr'); qryBildAlt.Open; if qryBildAlt.RecordCount > 0 then begin qryBildAlt.First; Query_Quelle.Close; Query_Quelle.SQL.Clear; Query_Quelle.SQL.Add('select * from TBL_PATIENT where PATIENTNR = :PATIENTNR'); Query_Ziel.Close; Query_Ziel.SQL.Clear; Query_Ziel.SQL.Add('insert into TBL_PATIENT (PATIENTNR, PATIENTENNUMMER, SUCHWORT, ANREDE, TITEL, VORNAME, NAME, STRASSE, ' + 'LKZ, PLZ, ORT, BRIEFANREDE, TELEFON, GESCHAEFTSTELEFON, TELEFAX, TELEFAX2, ' + 'MOBILFUNK, EMAIL, GEBURTSDATUM, GEBURTSTAG, GEBURTSMONAT, GEBURTSMONAT_ZAHL, ' + 'GEBURTSJAHR, GESCHLECHT, FAMILIENSTAND, KINDER, BERUF, HAUSARZT, GEBUEHSATZ, ' + 'KASSENNAME, KASSENNUMMER, VERSICHERTENNUMMER, VERISCHERTENSTATUS, GUELTIGBIS, ' + 'BLUTGRUPPE, AUFNAHMEDATUM, LETZTESBEHANDLUNGSDATUM, NAECHSTERTERMIN, UHRZEIT,' + 'TERMINGRUND, KOMPRIMIERTERDRUCK, LABORAUFTRAGSNUMMER, BUCHEN, KONTONUMMER,' + 'ANAMNESE, BEMERKUNG, BILD, DRUCKANZAHL, KRITERIUM1, KRITERIUM2, KRITERIUM3, ' + 'BANKNAME, BLZ, BANKKONTONUMMER, BANKABBUCHUNG, ANLAGE, ANLAGEBENUTZER, AENDERUNG, ' + 'AENDERUNGBENUTZER, BEHANDLUNGSZEITVON, BEHANDLUNGSZEITBIS, BEHANDLUNGSTAG, ' + 'BEHANDLUNGSZEITNEU, BEFUND, FACHARZT, UNTERSUCHUNG, ERLOESKONTO, RECHNUNGSFORMULAR, ' + 'FAMILIENANAMNESE, KRANKHEITEN, THERAPIEPLAN, SPONTANBERICHT, GELENKTERBERICHT, ' + 'DAUERDIAGNOSE, RISIKO, RISIKO_BEMERKUNG, GEWICHT, GROESSE, BILDEXT, ZAHLUNGSZIEL, ' + 'ID, MEDIKATION, VERWANDT, VERSICHERUNGSART, GEBURTSTAGSBRIEF, NEUJAHRSBRIEF, ' + 'WEIHNACHTSBRIEF, PATDIAGNOSE, PATLEISTUNGEN, KOPFTEXT, FUSSTEXT, PATABSCHLUSS, PRIVATVERSICHERERNR, ' + 'NAMENSZUSATZ, ZAHLUNGSBEDINGUNGBAR, ZAHLUNGSBEDINGUNGUNBAR, TEXTVORRECHNUNGSPOSITION, MAHNUNG1KOPF, ' + 'MAHNUNG1FUSS, MAHNUNG2KOPF, MAHNUNG2FUSS, MAHNUNG3KOPF, MAHNUNG3FUSS, RECHNUNGPERMAIL, REZEPTFORMULAR, ' + 'MAILBODY, GEBURTSZEIT, VERSICHERERAUSNP7, MAILRECHNUNGSFORMULAR, RECHNUNGENOHNEDRUCK, RECHNUNGALSPDF, ' + 'VERSTORBEN, STERBEDATUM, SERIENBRIEFTEILNAHME, BIC, BIRTHDAYOFTHEYEAR, ZAHLUNGSART, MANDANTENBANK, ' + 'IBAN, RECHNUNGALSPDFUNDDRUCK, BEHANDLER, BUDGET, GEHOERTZU, A_TEXTVORANGEBOTSPOSITION, A_TEXTNACHANGEBOTSPOSITION, ' + 'A_BELEGFORMULAR, A_MAILTEXT, A_WERBETEXT, A_DRUCKANZAHL, A_ALS_AMAIL, A_ALS_PDF, A_ALS_PDF_UND_DRUCK, A_OHNE_DRUCK, ' + 'KV_TEXTVORPOSITION, KV_TEXTNACHPOSITION, KV_BELEGFORMULAR, KV_MAILTEXT, KV_WERBETEXT, KV_DRUCKANZAHL, ' + 'KV_ALS_MAIL, KV_ALS_PDF, KV_ALS_PDF_UND_DRUCK, KV_OHNE_DRUCK, AU_TEXTVORPOSITION, AU_TEXTNACHPOSITION, ' + 'AU_BELEGFORMULAR, AU_MAILTEXT, AU_WERBETEXT, AU_DRUCKANZAHL, AU_ALS_PDF, AU_ALS_MAIL, AU_ALS_PDF_UND_DRUCK, ' + 'AU_OHNE_DRUCK, LI_TEXTVORPOSITION, LI_TEXTNACHPOSITION, LI_BELEGFORMULAR, LI_MAILTEXT, LI_WERBETEXT, ' + 'LI_DRUCKANZAHL, LI_ALS_MAIL, LI_ALS_PDF, LI_ALS_PDF_UND_DRUCK, LI_OHNE_DRUCK, GU_TEXTVORPOSITION, ' + 'GU_TEXTNACHPOSITION, GU_BELEGFORMULAR, GU_MAILTEXT, GU_WERBETEXT, GU_DRUCKANZAHL, GU_ALS_MAIL, ' + 'GU_ALS_PDF, GU_ALS_PDF_UND_DRUCK, GU_OHNE_DRUCK, MA_BELEGFORMULAR, MA_DRUCKANZAHL, MA_ALS_MAIL, ' + 'MA_MAILTEXT, MA_ALS_PDF, MA_ALS_PDF_UND_DRUCK, MA_OHNE_DRUCK, RE_TEXT_NACH_POSITION, RE_WERBETEXT, ' + 'FOLGETERMIN, FOLGETERMIN_ERINNERN, SAMMELADRESSE, GEBURTSORT)' + 'VALUES (:PATIENTNR, :PATIENTENNUMMER, :SUCHWORT, :ANREDE, :TITEL, :VORNAME, :NAME, :STRASSE, ' + ':LKZ, :PLZ, :ORT, :BRIEFANREDE, :TELEFON, :GESCHAEFTSTELEFON, :TELEFAX, :TELEFAX2, ' + ':MOBILFUNK, :EMAIL, :GEBURTSDATUM, :GEBURTSTAG, :GEBURTSMONAT, :GEBURTSMONAT_ZAHL, ' + ':GEBURTSJAHR, :GESCHLECHT, :FAMILIENSTAND, :KINDER, :BERUF, :HAUSARZT, :GEBUEHSATZ, ' + ':KASSENNAME, :KASSENNUMMER, :VERSICHERTENNUMMER, :VERISCHERTENSTATUS, :GUELTIGBIS, ' + ':BLUTGRUPPE, :AUFNAHMEDATUM, :LETZTESBEHANDLUNGSDATUM, :NAECHSTERTERMIN, :UHRZEIT, ' + ':TERMINGRUND, :KOMPRIMIERTERDRUCK, :LABORAUFTRAGSNUMMER, :BUCHEN, :KONTONUMMER,' + ':ANAMNESE, :BEMERKUNG, :BILD, :DRUCKANZAHL, :KRITERIUM1, :KRITERIUM2, :KRITERIUM3, ' + ':BANKNAME, :BLZ, :BANKKONTONUMMER, :BANKABBUCHUNG, :ANLAGE, :ANLAGEBENUTZER, :AENDERUNG, ' + ':AENDERUNGBENUTZER, :BEHANDLUNGSZEITVON, :BEHANDLUNGSZEITBIS, :BEHANDLUNGSTAG, ' + ':BEHANDLUNGSZEITNEU, :BEFUND, :FACHARZT, :UNTERSUCHUNG, :ERLOESKONTO, :RECHNUNGSFORMULAR, ' + ':FAMILIENANAMNESE, :KRANKHEITEN, :THERAPIEPLAN, :SPONTANBERICHT, :GELENKTERBERICHT, ' + ':DAUERDIAGNOSE, :RISIKO, :RISIKO_BEMERKUNG, :GEWICHT, :GROESSE, :BILDEXT, :ZAHLUNGSZIEL, ' + ':ID, :MEDIKATION, :VERWANDT, :VERSICHERUNGSART, :GEBURTSTAGSBRIEF, :NEUJAHRSBRIEF, ' + ':WEIHNACHTSBRIEF, :PATDIAGNOSE, :PATLEISTUNGEN, :KOPFTEXT, :FUSSTEXT, :PATABSCHLUSS, :PRIVATVERSICHERERNR, ' + ':NAMENSZUSATZ, :ZAHLUNGSBEDINGUNGBAR, :ZAHLUNGSBEDINGUNGUNBAR, :TEXTVORRECHNUNGSPOSITION, :MAHNUNG1KOPF, ' + ':MAHNUNG1FUSS, :MAHNUNG2KOPF, :MAHNUNG2FUSS, :MAHNUNG3KOPF, :MAHNUNG3FUSS, :RECHNUNGPERMAIL, :REZEPTFORMULAR, ' + ':MAILBODY, :GEBURTSZEIT, :VERSICHERERAUSNP7, :MAILRECHNUNGSFORMULAR, :RECHNUNGENOHNEDRUCK, :RECHNUNGALSPDF, ' + ':VERSTORBEN, :STERBEDATUM, :SERIENBRIEFTEILNAHME, :BIC, :BIRTHDAYOFTHEYEAR, :ZAHLUNGSART, :MANDANTENBANK, ' + ':IBAN, :RECHNUNGALSPDFUNDDRUCK, :BEHANDLER, :BUDGET, :GEHOERTZU, :A_TEXTVORANGEBOTSPOSITION, :A_TEXTNACHANGEBOTSPOSITION, ' + ':A_BELEGFORMULAR, :A_MAILTEXT, :A_WERBETEXT, :A_DRUCKANZAHL, :A_ALS_AMAIL, :A_ALS_PDF, :A_ALS_PDF_UND_DRUCK, :A_OHNE_DRUCK, ' + ':KV_TEXTVORPOSITION, :KV_TEXTNACHPOSITION, :KV_BELEGFORMULAR, :KV_MAILTEXT, :KV_WERBETEXT, :KV_DRUCKANZAHL, ' + ':KV_ALS_MAIL, :KV_ALS_PDF, :KV_ALS_PDF_UND_DRUCK, :KV_OHNE_DRUCK, :AU_TEXTVORPOSITION, :AU_TEXTNACHPOSITION, ' + ':AU_BELEGFORMULAR, :AU_MAILTEXT, :AU_WERBETEXT, :AU_DRUCKANZAHL, :AU_ALS_PDF, :AU_ALS_MAIL, :AU_ALS_PDF_UND_DRUCK, ' + ':AU_OHNE_DRUCK, :LI_TEXTVORPOSITION, :LI_TEXTNACHPOSITION, :LI_BELEGFORMULAR, :LI_MAILTEXT, :LI_WERBETEXT, ' + ':LI_DRUCKANZAHL, :LI_ALS_MAIL, :LI_ALS_PDF, :LI_ALS_PDF_UND_DRUCK, :LI_OHNE_DRUCK, :GU_TEXTVORPOSITION, ' + ':GU_TEXTNACHPOSITION, :GU_BELEGFORMULAR, :GU_MAILTEXT, :GU_WERBETEXT, :GU_DRUCKANZAHL, :GU_ALS_MAIL, ' + ':GU_ALS_PDF, :GU_ALS_PDF_UND_DRUCK, :GU_OHNE_DRUCK, :MA_BELEGFORMULAR, :MA_DRUCKANZAHL, :MA_ALS_MAIL, ' + ':MA_MAILTEXT, :MA_ALS_PDF, :MA_ALS_PDF_UND_DRUCK, :MA_OHNE_DRUCK, :RE_TEXT_NACH_POSITION, :RE_WERBETEXT, ' + ':FOLGETERMIN, :FOLGETERMIN_ERINNERN, :SAMMELADRESSE, :GEBURTSORT)'); while not qryBildAlt.eof do begin Query_Quelle.close; Query_Quelle.ParamByName('PATIENTNR').Value := qryBildAlt.FieldByName('PATIENTNR').AsInteger; Query_Quelle.Open; Query_Ziel.ParamByName('PATIENTNR').Value := qryBildAlt.FieldByName('PATIENTNR').AsInteger; Query_Ziel.ParamByName('PATIENTENNUMMER').AsInteger := Query_Quelle.FieldByName('PATIENTENNUMMER').AsInteger; Query_Ziel.ParamByName('SUCHWORT').AsString := Query_Quelle.FieldByName('SUCHWORT').AsString; Query_Ziel.ParamByName('ANREDE').AsString := Query_Quelle.FieldByName('ANREDE').AsString; Query_Ziel.ParamByName('TITEL').AsString := Query_Quelle.FieldByName('TITEL').AsString; Query_Ziel.ParamByName('VORNAME').AsString := Query_Quelle.FieldByName('VORNAME').AsString; Query_Ziel.ParamByName('NAME').AsString := Query_Quelle.FieldByName('NAME').AsString; Query_Ziel.ParamByName('STRASSE').AsString := Query_Quelle.FieldByName('STRASSE').AsString; Query_Ziel.ParamByName('LKZ').AsString := Query_Quelle.FieldByName('LKZ').AsString; Query_Ziel.ParamByName('PLZ').AsString := Query_Quelle.FieldByName('PLZ').AsString; Query_Ziel.ParamByName('ORT').AsString := Query_Quelle.FieldByName('ORT').AsString; Query_Ziel.ParamByName('BRIEFANREDE').AsString := Query_Quelle.FieldByName('BRIEFANREDE').AsString; Query_Ziel.ParamByName('TELEFON').AsString := Query_Quelle.FieldByName('TELEFON').AsString; Query_Ziel.ParamByName('GESCHAEFTSTELEFON').AsString := Query_Quelle.FieldByName('GESCHAEFTSTELEFON').AsString; Query_Ziel.ParamByName('TELEFAX').AsString := Query_Quelle.FieldByName('TELEFAX').AsString; Query_Ziel.ParamByName('TELEFAX2').AsString := Query_Quelle.FieldByName('TELEFAX2').AsString; Query_Ziel.ParamByName('MOBILFUNK').AsString := Query_Quelle.FieldByName('MOBILFUNK').AsString; Query_Ziel.ParamByName('EMAIL').AsString := Query_Quelle.FieldByName('EMAIL').AsString; Query_Ziel.ParamByName('GEBURTSDATUM').AsDateTime := Query_Quelle.FieldByName('GEBURTSDATUM').AsDateTime; if Query_Quelle.FieldByName('GEBURTSTAG').AsInteger = Null then Query_Quelle.FieldByName('GEBURTSTAG').AsInteger := 0 else Query_Ziel.ParamByName('GEBURTSTAG').AsInteger := Query_Quelle.FieldByName('GEBURTSTAG').AsInteger; Query_Ziel.ParamByName('GEBURTSMONAT').AsString := Query_Quelle.FieldByName('GEBURTSMONAT').AsString; if Query_Quelle.FieldByName('GEBURTSMONAT_ZAHL').AsInteger = Null then Query_Quelle.FieldByName('GEBURTSMONAT_ZAHL').AsInteger := 0 else Query_Ziel.ParamByName('GEBURTSMONAT_ZAHL').AsInteger := Query_Quelle.FieldByName('GEBURTSMONAT_ZAHL').AsInteger; if Query_Quelle.FieldByName('GEBURTSJAHR').AsInteger = Null then Query_Quelle.FieldByName('GEBURTSJAHR').AsInteger := 0 else Query_Ziel.ParamByName('GEBURTSJAHR').AsInteger := Query_Quelle.FieldByName('GEBURTSJAHR').AsInteger; Query_Ziel.ParamByName('GESCHLECHT').AsString := Query_Quelle.FieldByName('GESCHLECHT').AsString; Query_Ziel.ParamByName('FAMILIENSTAND').AsString := Query_Quelle.FieldByName('FAMILIENSTAND').AsString; Query_Ziel.ParamByName('KINDER').AsInteger := Query_Quelle.FieldByName('KINDER').AsInteger; Query_Ziel.ParamByName('BERUF').AsString := Query_Quelle.FieldByName('BERUF').AsString; Query_Ziel.ParamByName('HAUSARZT').AsString := Query_Quelle.FieldByName('HAUSARZT').AsString; Query_Ziel.ParamByName('GEBUEHSATZ').AsString := Query_Quelle.FieldByName('GEBUEHSATZ').AsString; Query_Ziel.ParamByName('KASSENNAME').AsString := Query_Quelle.FieldByName('KASSENNAME').AsString; Query_Ziel.ParamByName('KASSENNUMMER').AsString := Query_Quelle.FieldByName('KASSENNUMMER').AsString; Query_Ziel.ParamByName('VERSICHERTENNUMMER').AsString := Query_Quelle.FieldByName('VERSICHERTENNUMMER').AsString; Query_Ziel.ParamByName('VERISCHERTENSTATUS').AsString := Query_Quelle.FieldByName('VERISCHERTENSTATUS').AsString; Query_Ziel.ParamByName('GUELTIGBIS').AsDateTime := Query_Quelle.FieldByName('GUELTIGBIS').AsDateTime; Query_Ziel.ParamByName('BLUTGRUPPE').AsString := Query_Quelle.FieldByName('BLUTGRUPPE').AsString; Query_Ziel.ParamByName('AUFNAHMEDATUM').AsDateTime := Query_Quelle.FieldByName('AUFNAHMEDATUM').AsDateTime; Query_Ziel.ParamByName('LETZTESBEHANDLUNGSDATUM').AsDateTime := Query_Quelle.FieldByName('LETZTESBEHANDLUNGSDATUM').AsDateTime; Query_Ziel.ParamByName('NAECHSTERTERMIN').AsDateTime := Query_Quelle.FieldByName('NAECHSTERTERMIN').AsDateTime; Query_Ziel.ParamByName('UHRZEIT').AsDateTime := Query_Quelle.FieldByName('UHRZEIT').AsDateTime; Query_Ziel.ParamByName('TERMINGRUND').AsString := Query_Quelle.FieldByName('TERMINGRUND').AsString; Query_Ziel.ParamByName('KOMPRIMIERTERDRUCK').AsString := Query_Quelle.FieldByName('KOMPRIMIERTERDRUCK').AsString; Query_Ziel.ParamByName('LABORAUFTRAGSNUMMER').AsString := Query_Quelle.FieldByName('LABORAUFTRAGSNUMMER').AsString; Query_Ziel.ParamByName('BUCHEN').AsString := Query_Quelle.FieldByName('BUCHEN').AsString; if Query_Quelle.FieldByName('KONTONUMMER').AsInteger = Null then Query_Quelle.FieldByName('KONTONUMMER').AsInteger := 1200 else Query_Ziel.ParamByName('KONTONUMMER').AsInteger := Query_Quelle.FieldByName('KONTONUMMER').AsInteger; Query_Ziel.ParamByName('ANAMNESE').AsString := Query_Quelle.FieldByName('ANAMNESE').AsString; Query_Ziel.ParamByName('BEMERKUNG').AsString := Query_Quelle.FieldByName('BEMERKUNG').AsString; Query_Ziel.ParamByName('BILD').AsString := Query_Quelle.FieldByName('BILD').AsString; if Query_Quelle.FieldByName('DRUCKANZAHL').AsInteger = Null then Query_Quelle.FieldByName('DRUCKANZAHL').AsInteger := 1 else Query_Ziel.ParamByName('DRUCKANZAHL').AsInteger := Query_Quelle.FieldByName('DRUCKANZAHL').AsInteger; Query_Ziel.ParamByName('KRITERIUM1').AsString := Query_Quelle.FieldByName('KRITERIUM1').AsString; Query_Ziel.ParamByName('KRITERIUM2').AsString := Query_Quelle.FieldByName('KRITERIUM2').AsString; Query_Ziel.ParamByName('KRITERIUM3').AsString := Query_Quelle.FieldByName('KRITERIUM3').AsString; Query_Ziel.ParamByName('BANKNAME').AsString := Query_Quelle.FieldByName('BANKNAME').AsString; Query_Ziel.ParamByName('BLZ').AsString := Query_Quelle.FieldByName('BLZ').AsString; Query_Ziel.ParamByName('BANKKONTONUMMER').AsString := Query_Quelle.FieldByName('BANKKONTONUMMER').AsString; Query_Ziel.ParamByName('BANKABBUCHUNG').AsString := Query_Quelle.FieldByName('BANKABBUCHUNG').AsString; Query_Ziel.ParamByName('ANLAGE').AsDateTime := Query_Quelle.FieldByName('ANLAGE').AsDateTime; Query_Ziel.ParamByName('ANLAGEBENUTZER').AsString := Query_Quelle.FieldByName('ANLAGEBENUTZER').AsString; Query_Ziel.ParamByName('AENDERUNG').AsDateTime := Query_Quelle.FieldByName('AENDERUNG').AsDateTime; Query_Ziel.ParamByName('AENDERUNGBENUTZER').AsString := Query_Quelle.FieldByName('AENDERUNGBENUTZER').AsString; Query_Ziel.ParamByName('BEHANDLUNGSZEITVON').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITVON').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSZEITBIS').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITBIS').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSTAG').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSTAG').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSZEITNEU').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITNEU').AsDateTime; Query_Ziel.ParamByName('BEFUND').AsString := Query_Quelle.FieldByName('BEFUND').AsString; Query_Ziel.ParamByName('FACHARZT').AsString := Query_Quelle.FieldByName('FACHARZT').AsString; Query_Ziel.ParamByName('UNTERSUCHUNG').AsString := Query_Quelle.FieldByName('UNTERSUCHUNG').AsString; if Query_Quelle.FieldByName('ERLOESKONTO').AsInteger = Null then Query_Quelle.FieldByName('ERLOESKONTO').AsInteger := 0 else Query_Ziel.ParamByName('ERLOESKONTO').AsInteger := Query_Quelle.FieldByName('ERLOESKONTO').AsInteger; Query_Ziel.ParamByName('RECHNUNGSFORMULAR').AsString := Query_Quelle.FieldByName('RECHNUNGSFORMULAR').AsString; Query_Ziel.ParamByName('FAMILIENANAMNESE').AsString := Query_Quelle.FieldByName('FAMILIENANAMNESE').AsString; Query_Ziel.ParamByName('KRANKHEITEN').AsString := Query_Quelle.FieldByName('KRANKHEITEN').AsString; Query_Ziel.ParamByName('THERAPIEPLAN').AsString := Query_Quelle.FieldByName('THERAPIEPLAN').AsString; Query_Ziel.ParamByName('SPONTANBERICHT').AsString := Query_Quelle.FieldByName('SPONTANBERICHT').AsString; Query_Ziel.ParamByName('GELENKTERBERICHT').AsString := Query_Quelle.FieldByName('GELENKTERBERICHT').AsString; Query_Ziel.ParamByName('DAUERDIAGNOSE').AsString := Query_Quelle.FieldByName('DAUERDIAGNOSE').AsString; Query_Ziel.ParamByName('RISIKO').AsString := Query_Quelle.FieldByName('RISIKO').AsString; Query_Ziel.ParamByName('RISIKO_BEMERKUNG').Value := Query_Quelle.FieldByName('RISIKO_BEMERKUNG').AsString; if Query_Quelle.FieldByName('GEWICHT').AsFloat = Null then Query_Quelle.FieldByName('GEWICHT').AsFloat := 0 else Query_Ziel.ParamByName('GEWICHT').AsFloat := Query_Quelle.FieldByName('GEWICHT').AsFloat; if Query_Quelle.FieldByName('GROESSE').AsInteger = Null then Query_Quelle.FieldByName('GROESSE').AsInteger := 0 else Query_Ziel.ParamByName('GROESSE').AsInteger := Query_Quelle.FieldByName('GROESSE').AsInteger; Query_Ziel.ParamByName('BILDEXT').AsString := Query_Quelle.FieldByName('BILDEXT').AsString; if Query_Quelle.FieldByName('ZAHLUNGSZIEL').AsInteger = Null then Query_Quelle.FieldByName('ZAHLUNGSZIEL').AsInteger := 0 else Query_Ziel.ParamByName('ZAHLUNGSZIEL').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSZIEL').AsInteger; if Query_Quelle.FieldByName('ID').AsInteger = Null then Query_Quelle.FieldByName('ID').AsInteger := 0 else Query_Ziel.ParamByName('ID').AsInteger := Query_Quelle.FieldByName('ID').AsInteger; Query_Ziel.ParamByName('MEDIKATION').AsString := Query_Quelle.FieldByName('MEDIKATION').AsString; Query_Ziel.ParamByName('VERWANDT').AsString := Query_Quelle.FieldByName('VERWANDT').AsString; Query_Ziel.ParamByName('VERSICHERUNGSART').AsString := Query_Quelle.FieldByName('VERSICHERUNGSART').AsString; Query_Ziel.ParamByName('GEBURTSTAGSBRIEF').AsString := Query_Quelle.FieldByName('GEBURTSTAGSBRIEF').AsString; Query_Ziel.ParamByName('NEUJAHRSBRIEF').AsString := Query_Quelle.FieldByName('NEUJAHRSBRIEF').AsString; Query_Ziel.ParamByName('WEIHNACHTSBRIEF').AsString := Query_Quelle.FieldByName('WEIHNACHTSBRIEF').AsString; Query_Ziel.ParamByName('PATDIAGNOSE').AsString := Query_Quelle.FieldByName('PATDIAGNOSE').AsString; Query_Ziel.ParamByName('PATLEISTUNGEN').AsString := Query_Quelle.FieldByName('PATLEISTUNGEN').AsString; Query_Ziel.ParamByName('KOPFTEXT').AsString := Query_Quelle.FieldByName('KOPFTEXT').AsString; Query_Ziel.ParamByName('FUSSTEXT').AsString := Query_Quelle.FieldByName('FUSSTEXT').AsString; Query_Ziel.ParamByName('PATABSCHLUSS').AsString := Query_Quelle.FieldByName('PATABSCHLUSS').AsString; if Query_Quelle.FieldByName('PRIVATVERSICHERERNR').AsInteger = Null then Query_Quelle.FieldByName('PRIVATVERSICHERERNR').AsInteger := 0 else Query_Ziel.ParamByName('PRIVATVERSICHERERNR').AsInteger := Query_Quelle.FieldByName('PRIVATVERSICHERERNR').AsInteger; Query_Ziel.ParamByName('NAMENSZUSATZ').AsString := Query_Quelle.FieldByName('NAMENSZUSATZ').AsString; if Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGBAR').AsInteger = Null then Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGBAR').AsInteger := 0 else Query_Ziel.ParamByName('ZAHLUNGSBEDINGUNGBAR').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGBAR').AsInteger; if Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger = Null then Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger := 0 else Query_Ziel.ParamByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger; if Query_Quelle.FieldByName('TEXTVORRECHNUNGSPOSITION').AsInteger = Null then Query_Quelle.FieldByName('TEXTVORRECHNUNGSPOSITION').AsInteger := 0 else Query_Ziel.ParamByName('TEXTVORRECHNUNGSPOSITION').AsInteger := Query_Quelle.FieldByName('TEXTVORRECHNUNGSPOSITION').AsInteger; if Query_Quelle.FieldByName('MAHNUNG1KOPF').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG1KOPF').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG1KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG1KOPF').AsInteger; if Query_Quelle.FieldByName('MAHNUNG1FUSS').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG1FUSS').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG1FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG1FUSS').AsInteger; if Query_Quelle.FieldByName('MAHNUNG2KOPF').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG2KOPF').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG2KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG2KOPF').AsInteger; if Query_Quelle.FieldByName('MAHNUNG2FUSS').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG2FUSS').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG2FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG2FUSS').AsInteger; if Query_Quelle.FieldByName('MAHNUNG3KOPF').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG3KOPF').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG3KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG3KOPF').AsInteger; if Query_Quelle.FieldByName('MAHNUNG3FUSS').AsInteger = Null then Query_Quelle.FieldByName('MAHNUNG3FUSS').AsInteger := 0 else Query_Ziel.ParamByName('MAHNUNG3FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG3FUSS').AsInteger; Query_Ziel.ParamByName('RECHNUNGPERMAIL').AsString := Query_Quelle.FieldByName('RECHNUNGPERMAIL').AsString; Query_Ziel.ParamByName('REZEPTFORMULAR').AsString := Query_Quelle.FieldByName('REZEPTFORMULAR').AsString; if Query_Quelle.FieldByName('MAILBODY').AsInteger = Null then Query_Quelle.FieldByName('MAILBODY').AsInteger := 0 else Query_Ziel.ParamByName('MAILBODY').AsInteger := Query_Quelle.FieldByName('MAILBODY').AsInteger; Query_Ziel.ParamByName('GEBURTSZEIT').AsDate := Query_Quelle.FieldByName('GEBURTSZEIT').AsDateTime; Query_Ziel.ParamByName('VERSICHERERAUSNP7').AsString := Query_Quelle.FieldByName('VERSICHERERAUSNP7').AsString; Query_Ziel.ParamByName('MAILRECHNUNGSFORMULAR').AsString := Query_Quelle.FieldByName('MAILRECHNUNGSFORMULAR').AsString; Query_Ziel.ParamByName('RECHNUNGENOHNEDRUCK').Value := Query_Quelle.FieldByName('RECHNUNGENOHNEDRUCK').AsString; Query_Ziel.ParamByName('RECHNUNGALSPDF').AsString := Query_Quelle.FieldByName('RECHNUNGALSPDF').AsString; Query_Ziel.ParamByName('VERSTORBEN').AsString := Query_Quelle.FieldByName('VERSTORBEN').AsString; Query_Ziel.ParamByName('STERBEDATUM').AsDateTime := Query_Quelle.FieldByName('STERBEDATUM').AsDateTime; Query_Ziel.ParamByName('SERIENBRIEFTEILNAHME').Value := Query_Quelle.FieldByName('SERIENBRIEFTEILNAHME').AsString; Query_Ziel.ParamByName('BIC').AsString := Query_Quelle.FieldByName('BIC').AsString; if Query_Quelle.FieldByName('BIRTHDAYOFTHEYEAR').AsInteger = Null then Query_Quelle.FieldByName('BIRTHDAYOFTHEYEAR').AsInteger := 0 else Query_Ziel.ParamByName('BIRTHDAYOFTHEYEAR').AsInteger := Query_Quelle.FieldByName('BIRTHDAYOFTHEYEAR').AsInteger; Query_Ziel.ParamByName('ZAHLUNGSART').AsString := Query_Quelle.FieldByName('ZAHLUNGSART').AsString; Query_Ziel.ParamByName('MANDANTENBANK').AsString := Query_Quelle.FieldByName('MANDANTENBANK').AsString; Query_Ziel.ParamByName('IBAN').AsString := Query_Quelle.FieldByName('IBAN').AsString; Query_Ziel.ParamByName('RECHNUNGALSPDFUNDDRUCK').AsString := Query_Quelle.FieldByName('RECHNUNGALSPDFUNDDRUCK').AsString; Query_Ziel.ParamByName('BEHANDLER').AsString := Query_Quelle.FieldByName('BEHANDLER').AsString; if Query_Quelle.FieldByName('BUDGET').AsFloat = Null then Query_Ziel.ParamByName('BUDGET').AsFloat := 0 else Query_Ziel.ParamByName('BUDGET').AsFloat := Query_Quelle.FieldByName('BUDGET').AsFloat; Query_Ziel.ExecSQL; qryBildAlt.next; end; end; Strg + c und Strg + v funktioniert bei mir nicht. |
AW: ParamByName geht und geht mal nicht
Eigentlich müsste da sowas bei rauskommen. :gruebel:
Zitat:
Zitat:
Delphi-Quellcode:
wird niemals True liefern, denn 0 <> NULL.
AsInteger = Null
AsInteger gibt eine 0 zurück, wenn der Wert des Feldes NULL ist. "Query_Quelle.FieldByName('xxxxx').AsInteger := 0" ist garantiert das falsche DataSet. Du meinst bestimmt
Delphi-Quellcode:
Aber da AsInteger sowieso 0 liefert, wenn NULL, kann man das alles weglassen.
if Query_Quelle.FieldByName('xxxxx').IsNull then
Query_Ziel.FieldByName('xxxxx').AsInteger := 0 else Query_Ziel.ParamByName('xxxxx').AsInteger := Query_Quelle.FieldByName('xxxxx').AsInteger;
Delphi-Quellcode:
reicht aus, genauso wie doch auch AsString ein NULL in '' umwandelt, bzw. AsFloat in 0.
Query_Ziel.ParamByName('xxxxx').AsInteger := Query_Quelle.FieldByName('xxxxx').AsInteger;
Was genau soll eigentlich der Code machen? NULL in 0, bzw. '' umwandeln? |
AW: ParamByName geht und geht mal nicht
So habe es wieder abgeändert, bringt aber nichts. Fehler kommt mal, mal nicht.
Delphi-Quellcode:
Kann doch nicht sein das Delphi mal so reagiert und mal anders, wobei am Code nichts verändert wird.
while not qryBildAlt.eof do
begin Query_Quelle.close; Query_Quelle.ParamByName('PATIENTNR').AsInteger:= qryBildAlt.FieldByName('PATIENTNR').AsInteger; Query_Quelle.Open; Query_Ziel.ParamByName('PATIENTNR').Value := qryBildAlt.FieldByName('PATIENTNR').AsInteger; Query_Ziel.ParamByName('PATIENTENNUMMER').AsInteger := Query_Quelle.FieldByName('PATIENTENNUMMER').AsInteger; Query_Ziel.ParamByName('SUCHWORT').AsString := Query_Quelle.FieldByName('SUCHWORT').AsString; Query_Ziel.ParamByName('ANREDE').AsString := Query_Quelle.FieldByName('ANREDE').AsString; Query_Ziel.ParamByName('TITEL').AsString := Query_Quelle.FieldByName('TITEL').AsString; Query_Ziel.ParamByName('VORNAME').AsString := Query_Quelle.FieldByName('VORNAME').AsString; Query_Ziel.ParamByName('NAME').AsString := Query_Quelle.FieldByName('NAME').AsString; Query_Ziel.ParamByName('STRASSE').AsString := Query_Quelle.FieldByName('STRASSE').AsString; Query_Ziel.ParamByName('LKZ').AsString := Query_Quelle.FieldByName('LKZ').AsString; Query_Ziel.ParamByName('PLZ').AsString := Query_Quelle.FieldByName('PLZ').AsString; Query_Ziel.ParamByName('ORT').AsString := Query_Quelle.FieldByName('ORT').AsString; Query_Ziel.ParamByName('BRIEFANREDE').AsString := Query_Quelle.FieldByName('BRIEFANREDE').AsString; Query_Ziel.ParamByName('TELEFON').AsString := Query_Quelle.FieldByName('TELEFON').AsString; Query_Ziel.ParamByName('GESCHAEFTSTELEFON').AsString := Query_Quelle.FieldByName('GESCHAEFTSTELEFON').AsString; Query_Ziel.ParamByName('TELEFAX').AsString := Query_Quelle.FieldByName('TELEFAX').AsString; Query_Ziel.ParamByName('TELEFAX2').AsString := Query_Quelle.FieldByName('TELEFAX2').AsString; Query_Ziel.ParamByName('MOBILFUNK').AsString := Query_Quelle.FieldByName('MOBILFUNK').AsString; Query_Ziel.ParamByName('EMAIL').AsString := Query_Quelle.FieldByName('EMAIL').AsString; Query_Ziel.ParamByName('GEBURTSDATUM').AsDateTime := Query_Quelle.FieldByName('GEBURTSDATUM').AsDateTime; Query_Ziel.ParamByName('GEBURTSTAG').AsInteger := Query_Quelle.FieldByName('GEBURTSTAG').AsInteger; Query_Ziel.ParamByName('GEBURTSMONAT').AsString := Query_Quelle.FieldByName('GEBURTSMONAT').AsString; Query_Ziel.ParamByName('GEBURTSMONAT_ZAHL').AsInteger := Query_Quelle.FieldByName('GEBURTSMONAT_ZAHL').AsInteger; Query_Ziel.ParamByName('GEBURTSJAHR').AsInteger := Query_Quelle.FieldByName('GEBURTSJAHR').AsInteger; Query_Ziel.ParamByName('GESCHLECHT').AsString := Query_Quelle.FieldByName('GESCHLECHT').AsString; Query_Ziel.ParamByName('FAMILIENSTAND').AsString := Query_Quelle.FieldByName('FAMILIENSTAND').AsString; Query_Ziel.ParamByName('KINDER').AsInteger := Query_Quelle.FieldByName('KINDER').AsInteger; Query_Ziel.ParamByName('BERUF').AsString := Query_Quelle.FieldByName('BERUF').AsString; Query_Ziel.ParamByName('HAUSARZT').AsString := Query_Quelle.FieldByName('HAUSARZT').AsString; Query_Ziel.ParamByName('GEBUEHSATZ').AsString := Query_Quelle.FieldByName('GEBUEHSATZ').AsString; Query_Ziel.ParamByName('KASSENNAME').AsString := Query_Quelle.FieldByName('KASSENNAME').AsString; Query_Ziel.ParamByName('KASSENNUMMER').AsString := Query_Quelle.FieldByName('KASSENNUMMER').AsString; Query_Ziel.ParamByName('VERSICHERTENNUMMER').AsString := Query_Quelle.FieldByName('VERSICHERTENNUMMER').AsString; Query_Ziel.ParamByName('VERISCHERTENSTATUS').AsString := Query_Quelle.FieldByName('VERISCHERTENSTATUS').AsString; Query_Ziel.ParamByName('GUELTIGBIS').AsDateTime := Query_Quelle.FieldByName('GUELTIGBIS').AsDateTime; Query_Ziel.ParamByName('BLUTGRUPPE').AsString := Query_Quelle.FieldByName('BLUTGRUPPE').AsString; Query_Ziel.ParamByName('AUFNAHMEDATUM').AsDateTime := Query_Quelle.FieldByName('AUFNAHMEDATUM').AsDateTime; Query_Ziel.ParamByName('LETZTESBEHANDLUNGSDATUM').AsDateTime := Query_Quelle.FieldByName('LETZTESBEHANDLUNGSDATUM').AsDateTime; Query_Ziel.ParamByName('NAECHSTERTERMIN').AsDateTime := Query_Quelle.FieldByName('NAECHSTERTERMIN').AsDateTime; Query_Ziel.ParamByName('UHRZEIT').AsDateTime := Query_Quelle.FieldByName('UHRZEIT').AsDateTime; Query_Ziel.ParamByName('TERMINGRUND').AsString := Query_Quelle.FieldByName('TERMINGRUND').AsString; Query_Ziel.ParamByName('KOMPRIMIERTERDRUCK').AsString := Query_Quelle.FieldByName('KOMPRIMIERTERDRUCK').AsString; Query_Ziel.ParamByName('LABORAUFTRAGSNUMMER').AsString := Query_Quelle.FieldByName('LABORAUFTRAGSNUMMER').AsString; Query_Ziel.ParamByName('BUCHEN').AsString := Query_Quelle.FieldByName('BUCHEN').AsString; Query_Ziel.ParamByName('KONTONUMMER').AsInteger := Query_Quelle.FieldByName('KONTONUMMER').AsInteger; Query_Ziel.ParamByName('ANAMNESE').AsString := Query_Quelle.FieldByName('ANAMNESE').AsString; Query_Ziel.ParamByName('BEMERKUNG').AsString := Query_Quelle.FieldByName('BEMERKUNG').AsString; Query_Ziel.ParamByName('BILD').AsString := Query_Quelle.FieldByName('BILD').AsString; Query_Ziel.ParamByName('DRUCKANZAHL').AsInteger := Query_Quelle.FieldByName('DRUCKANZAHL').AsInteger; Query_Ziel.ParamByName('KRITERIUM1').AsString := Query_Quelle.FieldByName('KRITERIUM1').AsString; Query_Ziel.ParamByName('KRITERIUM2').AsString := Query_Quelle.FieldByName('KRITERIUM2').AsString; Query_Ziel.ParamByName('KRITERIUM3').AsString := Query_Quelle.FieldByName('KRITERIUM3').AsString; Query_Ziel.ParamByName('BANKNAME').AsString := Query_Quelle.FieldByName('BANKNAME').AsString; Query_Ziel.ParamByName('BLZ').AsString := Query_Quelle.FieldByName('BLZ').AsString; Query_Ziel.ParamByName('BANKKONTONUMMER').AsString := Query_Quelle.FieldByName('BANKKONTONUMMER').AsString; Query_Ziel.ParamByName('BANKABBUCHUNG').AsString := Query_Quelle.FieldByName('BANKABBUCHUNG').AsString; Query_Ziel.ParamByName('ANLAGE').AsDateTime := Query_Quelle.FieldByName('ANLAGE').AsDateTime; Query_Ziel.ParamByName('ANLAGEBENUTZER').AsString := Query_Quelle.FieldByName('ANLAGEBENUTZER').AsString; Query_Ziel.ParamByName('AENDERUNG').AsDateTime := Query_Quelle.FieldByName('AENDERUNG').AsDateTime; Query_Ziel.ParamByName('AENDERUNGBENUTZER').AsString := Query_Quelle.FieldByName('AENDERUNGBENUTZER').AsString; Query_Ziel.ParamByName('BEHANDLUNGSZEITVON').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITVON').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSZEITBIS').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITBIS').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSTAG').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSTAG').AsDateTime; Query_Ziel.ParamByName('BEHANDLUNGSZEITNEU').AsDateTime := Query_Quelle.FieldByName('BEHANDLUNGSZEITNEU').AsDateTime; Query_Ziel.ParamByName('BEFUND').AsString := Query_Quelle.FieldByName('BEFUND').AsString; Query_Ziel.ParamByName('FACHARZT').AsString := Query_Quelle.FieldByName('FACHARZT').AsString; Query_Ziel.ParamByName('UNTERSUCHUNG').AsString := Query_Quelle.FieldByName('UNTERSUCHUNG').AsString; Query_Ziel.ParamByName('ERLOESKONTO').AsInteger := Query_Quelle.FieldByName('ERLOESKONTO').AsInteger; Query_Ziel.ParamByName('RECHNUNGSFORMULAR').AsString := Query_Quelle.FieldByName('RECHNUNGSFORMULAR').AsString; Query_Ziel.ParamByName('FAMILIENANAMNESE').AsString := Query_Quelle.FieldByName('FAMILIENANAMNESE').AsString; Query_Ziel.ParamByName('KRANKHEITEN').AsString := Query_Quelle.FieldByName('KRANKHEITEN').AsString; Query_Ziel.ParamByName('THERAPIEPLAN').AsString := Query_Quelle.FieldByName('THERAPIEPLAN').AsString; Query_Ziel.ParamByName('SPONTANBERICHT').AsString := Query_Quelle.FieldByName('SPONTANBERICHT').AsString; Query_Ziel.ParamByName('GELENKTERBERICHT').AsString := Query_Quelle.FieldByName('GELENKTERBERICHT').AsString; Query_Ziel.ParamByName('DAUERDIAGNOSE').AsString := Query_Quelle.FieldByName('DAUERDIAGNOSE').AsString; Query_Ziel.ParamByName('RISIKO').AsString := Query_Quelle.FieldByName('RISIKO').AsString; Query_Ziel.ParamByName('RISIKO_BEMERKUNG').Value := Query_Quelle.FieldByName('RISIKO_BEMERKUNG').AsString; Query_Ziel.ParamByName('GEWICHT').AsFloat := Query_Quelle.FieldByName('GEWICHT').AsFloat; Query_Ziel.ParamByName('GROESSE').AsInteger := Query_Quelle.FieldByName('GROESSE').AsInteger; Query_Ziel.ParamByName('BILDEXT').AsString := Query_Quelle.FieldByName('BILDEXT').AsString; Query_Ziel.ParamByName('ZAHLUNGSZIEL').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSZIEL').AsInteger; Query_Ziel.ParamByName('ID').AsInteger := Query_Quelle.FieldByName('ID').AsInteger; Query_Ziel.ParamByName('MEDIKATION').AsString := Query_Quelle.FieldByName('MEDIKATION').AsString; Query_Ziel.ParamByName('VERWANDT').AsString := Query_Quelle.FieldByName('VERWANDT').AsString; Query_Ziel.ParamByName('VERSICHERUNGSART').AsString := Query_Quelle.FieldByName('VERSICHERUNGSART').AsString; Query_Ziel.ParamByName('GEBURTSTAGSBRIEF').AsString := Query_Quelle.FieldByName('GEBURTSTAGSBRIEF').AsString; Query_Ziel.ParamByName('NEUJAHRSBRIEF').AsString := Query_Quelle.FieldByName('NEUJAHRSBRIEF').AsString; Query_Ziel.ParamByName('WEIHNACHTSBRIEF').AsString := Query_Quelle.FieldByName('WEIHNACHTSBRIEF').AsString; Query_Ziel.ParamByName('PATDIAGNOSE').AsString := Query_Quelle.FieldByName('PATDIAGNOSE').AsString; Query_Ziel.ParamByName('PATLEISTUNGEN').AsString := Query_Quelle.FieldByName('PATLEISTUNGEN').AsString; Query_Ziel.ParamByName('KOPFTEXT').AsString := Query_Quelle.FieldByName('KOPFTEXT').AsString; Query_Ziel.ParamByName('FUSSTEXT').AsString := Query_Quelle.FieldByName('FUSSTEXT').AsString; Query_Ziel.ParamByName('PATABSCHLUSS').AsString := Query_Quelle.FieldByName('PATABSCHLUSS').AsString; Query_Ziel.ParamByName('PRIVATVERSICHERERNR').AsInteger := Query_Quelle.FieldByName('PRIVATVERSICHERERNR').AsInteger; Query_Ziel.ParamByName('NAMENSZUSATZ').AsString := Query_Quelle.FieldByName('NAMENSZUSATZ').AsString; Query_Ziel.ParamByName('ZAHLUNGSBEDINGUNGBAR').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGBAR').AsInteger; Query_Ziel.ParamByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger := Query_Quelle.FieldByName('ZAHLUNGSBEDINGUNGUNBAR').AsInteger; Query_Ziel.ParamByName('TEXTVORRECHNUNGSPOSITION').AsInteger := Query_Quelle.FieldByName('TEXTVORRECHNUNGSPOSITION').AsInteger; Query_Ziel.ParamByName('MAHNUNG1KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG1KOPF').AsInteger; Query_Ziel.ParamByName('MAHNUNG1FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG1FUSS').AsInteger; Query_Ziel.ParamByName('MAHNUNG2KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG2KOPF').AsInteger; Query_Ziel.ParamByName('MAHNUNG2FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG2FUSS').AsInteger; Query_Ziel.ParamByName('MAHNUNG3KOPF').AsInteger := Query_Quelle.FieldByName('MAHNUNG3KOPF').AsInteger; Query_Ziel.ParamByName('MAHNUNG3FUSS').AsInteger := Query_Quelle.FieldByName('MAHNUNG3FUSS').AsInteger; Query_Ziel.ParamByName('RECHNUNGPERMAIL').AsString := Query_Quelle.FieldByName('RECHNUNGPERMAIL').AsString; Query_Ziel.ParamByName('REZEPTFORMULAR').AsString := Query_Quelle.FieldByName('REZEPTFORMULAR').AsString; Query_Ziel.ParamByName('MAILBODY').AsInteger := Query_Quelle.FieldByName('MAILBODY').AsInteger; Query_Ziel.ParamByName('GEBURTSZEIT').AsDate := Query_Quelle.FieldByName('GEBURTSZEIT').AsDateTime; Query_Ziel.ParamByName('VERSICHERERAUSNP7').AsString := Query_Quelle.FieldByName('VERSICHERERAUSNP7').AsString; Query_Ziel.ParamByName('MAILRECHNUNGSFORMULAR').AsString := Query_Quelle.FieldByName('MAILRECHNUNGSFORMULAR').AsString; Query_Ziel.ParamByName('RECHNUNGENOHNEDRUCK').Value := Query_Quelle.FieldByName('RECHNUNGENOHNEDRUCK').AsString; Query_Ziel.ParamByName('RECHNUNGALSPDF').AsString := Query_Quelle.FieldByName('RECHNUNGALSPDF').AsString; Query_Ziel.ParamByName('VERSTORBEN').AsString := Query_Quelle.FieldByName('VERSTORBEN').AsString; Query_Ziel.ParamByName('STERBEDATUM').AsDateTime := Query_Quelle.FieldByName('STERBEDATUM').AsDateTime; Query_Ziel.ParamByName('SERIENBRIEFTEILNAHME').Value := Query_Quelle.FieldByName('SERIENBRIEFTEILNAHME').AsString; Query_Ziel.ParamByName('BIC').AsString := Query_Quelle.FieldByName('BIC').AsString; Query_Ziel.ParamByName('BIRTHDAYOFTHEYEAR').AsInteger := Query_Quelle.FieldByName('BIRTHDAYOFTHEYEAR').AsInteger; Query_Ziel.ParamByName('ZAHLUNGSART').AsString := Query_Quelle.FieldByName('ZAHLUNGSART').AsString; Query_Ziel.ParamByName('MANDANTENBANK').AsString := Query_Quelle.FieldByName('MANDANTENBANK').AsString; Query_Ziel.ParamByName('IBAN').AsString := Query_Quelle.FieldByName('IBAN').AsString; Query_Ziel.ParamByName('RECHNUNGALSPDFUNDDRUCK').AsString := Query_Quelle.FieldByName('RECHNUNGALSPDFUNDDRUCK').AsString; Query_Ziel.ParamByName('BEHANDLER').AsString := Query_Quelle.FieldByName('BEHANDLER').AsString; Query_Ziel.ParamByName('BUDGET').AsFloat := Query_Quelle.FieldByName('BUDGET').AsFloat; Query_Ziel.ExecSQL; qryBildAlt.next; end; end; |
AW: ParamByName geht und geht mal nicht
Wenn Du Dir sicher bist, dass der Fehler hier auftritt
Delphi-Quellcode:
dann würde ich einmal schauen, bei welcher Umwandlung der Fehler entsteht.
Query_Ziel.ParamByName('PATIENTNR').AsInteger := qryBildAlt.FieldByName('PATIENTNR').AsInteger;
Also die Anweisung splitten
Delphi-Quellcode:
Wenn der Fehler erst in der zweiten Zeile kommt, dann kannst Du Dir ja den Wert von lTempInteger im Fehlerfall in einen Try-Except-Block anzeigen lassen.
lTempInteger := qryBildAlt.FieldByName('PATIENTNR').AsInteger;
Query_Ziel.ParamByName('PATIENTNR').AsInteger := lTempInteger; |
AW: ParamByName geht und geht mal nicht
Bei dermaßen vielen Feldern in einer Tabelle würde ich mich zunächst einmal fragen, ob ich das auch wirklich ordentlich durchnormalisiert habe. Und wenn die Daten nirgends angezeigt werden (sieht auf den ersten Blick danach aus) würde ich mich als Nächstes fragen, ob ich das tatsächlich clientseitig abarbeiten möchte, oder ob eine SP nicht sinnvoller wäre. Erst wenn ich beide Fragen guten Gewissens bejahen kann, mache ich das über 2 Queries, und da würde ich nur Value von Quelle auch Value von Ziel zuweisen, ohne Typumwandlungen.
|
AW: ParamByName geht und geht mal nicht
Danke DeddyH, ich habe es mal ohne Typenwandlung probiert. Zur Zeit läuft die Übernahme. Kann mir jemand eine Lektüre (Buch, Anleitung) zu Erstellung von SP nennen.
Danke an alle. |
AW: ParamByName geht und geht mal nicht
Eine Normalisierung würde mehr bringen. Wie oft wird diese Funktion ausgeführt?
In diesem Fall wäre die SP im Großen Und Ganzen eine 1:! Umsetzung des Codes So auf den 1. Blick fallen einem da schon einige Tabellen auf, in welche man diese "Monstertabelle" aufspalten könnte: PATIENT ADRESSE KOMMADRESSE ( Telefon, Fax, Email, Pager, ... 1 DS pro Eintrag) KRANKENKASSE, ARZT usw. |
AW: ParamByName geht und geht mal nicht
|
AW: ParamByName geht und geht mal nicht
Zitat:
|
AW: ParamByName geht und geht mal nicht
Wieso, Markus hat ja schon einige Punkte genannt?
|
AW: ParamByName geht und geht mal nicht
Sorry, habe mich falsch ausgedrückt.
Ich wollte sagen, die Tabelle ist wohl überhaupt nicht normalisiert. Eine solche wohl dringend erforderlich. |
AW: ParamByName geht und geht mal nicht
Achso. Genau das habe ich ja durch die Blume anzudeuten versucht ;)
|
AW: ParamByName geht und geht mal nicht
Mal ganz abgesehen von Normalisierung oder der direkten Ausführung auf dem Server:
Bevor ich so einen langen Rattenschwanz programmieren müsste, würde ich mir einfach eine Schleife bauen:
Delphi-Quellcode:
while not qryBildAlt.eof do
begin Query_Quelle.close; Query_Quelle.ParamByName('PATIENTNR').AsInteger:= qryBildAlt.FieldByName('PATIENTNR').AsInteger; Query_Quelle.Open; // sag es mit drei Zeilen, statt mit n Zeilen for LFieldName in LFieldNames do begin Query_Ziel.ParamByName( LFieldName ).Value := Query_Quelle.FieldByName( LFieldName ).Value; end; Query_Ziel.ExecSQL; end; |
AW: ParamByName geht und geht mal nicht
Stimmt. Wenn sowas nicht wäre
Delphi-Quellcode:
if Query_Quelle.FieldByName('KONTONUMMER').AsInteger = Null then
Query_Ziel.FieldByName('KONTONUMMER').AsInteger := 1200 else Query_Ziel.ParamByName('KONTONUMMER').AsInteger := Query_Quelle.FieldByName('KONTONUMMER').AsInteger; |
AW: ParamByName geht und geht mal nicht
Und auch das kann man mit
SQL-Code:
abgefangen werden.
select ...,decode(feld1,null,1200),..
Gruß K-H |
AW: ParamByName geht und geht mal nicht
Zitat:
|
AW: ParamByName geht und geht mal nicht
Vielleicht auch
Code:
?
insert into .. select ..
Oder sind es verschiedene DB? Ob es mit Firebird und database link geht, weiß ich nicht. |
AW: ParamByName geht und geht mal nicht
da Quelle und Ziel den gleichen Tabellennamen haben, scheint es sich um eine "Datenbankkopie" zu handeln:?:
Gruß K-H |
AW: ParamByName geht und geht mal nicht
Auch wenn man einige besonderen Regeln hat wie die mit der Kontonummer würde ich trotzdem mit der Schleife arbeiten. Die Sonderfälle kann man dann immer noch extra behandeln.
Die Zeile if Query_Quelle.FieldByName('KONTONUMMER').AsInteger = Null scheint wohl zu funktionieren, gefällt mir aber irgendwie nicht. Ich prüfe bei soetwas entweder auf isnull oder asinteger=0 Abfragen usw über mehrere Datenbanken sind mit Firebird möglich; z.B. in Executeblock-Statements. |
AW: ParamByName geht und geht mal nicht
Zitat:
|
AW: ParamByName geht und geht mal nicht
Es lässt sich kompilieren und ausführen, was ich eigentlich bezweifelt hatte. Ob es wirklich funktioniert, habe ich auf die Schnelle nicht geprüft.
Ich habe IBO noch nie eingesetzt; verwende eigentlich immer IBDAC und früher die IB-Komonententen. Bei beiden kann man die Insert und Update - Statments automatisch generieren lassen, geht das bei IBO nicht? Sieht mühsam aus, das alles selber zu schreiben. |
AW: ParamByName geht und geht mal nicht
Wie gesagt, was dort passiert, hatte ich hier auch beschrieben. Kompilieren lässt es sich, aber es macht nicht das, was es soll.
Zitat:
z.B.
SQL-Code:
(limit 0, da vorhandene Datensätze hier ja egal sind) und dann mit DataSet.Insert/Post, sowie die Felder per Schleife übertragen.
SELECT * FROM table LIMIT 0
|
AW: ParamByName geht und geht mal nicht
Zitat:
Dann halt mit Stored Procedure, Execute Statement .. on external datasource.. . Das wäre nativ, schnell, typsicher und flexibel. (Und etwas weniger Schreibkram) Außer ein Experte hier weiß, dass es mit alten Versionen nicht geht oder remote DB. |
AW: ParamByName geht und geht mal nicht
Hallo Sir Rufo,
was sind for LFieldName in LFieldNames do für Variablen. |
AW: ParamByName geht und geht mal nicht
Das war ein Beispiel-Code.
LFieldName ist natürlich ein lokaler String. (Schleifenvariable) LFieldNames ist z.B. ein Array oder eine StringListe mit den FeldNamen, der zu kopierenden Felder. (man könnte auch direkt über DataSet.Fields gehn) Und wenn es schneller sein soll, dann holft man sich vor der Schleife (über alle DataRecords) die Instanzen aller nötigen TField, anstatt immer wieder neu per FieldByName suchen zu lassen. |
AW: ParamByName geht und geht mal nicht
Das ist eine Enumeration.
Ich vermute das LFieldNames eine StringListe ist, dann müsste LFieldName ein String sein. |
AW: ParamByName geht und geht mal nicht
Da
Delphi-Quellcode:
und
ParamByName
Delphi-Quellcode:
einen
FieldByName
Delphi-Quellcode:
erwarten, muss
string
Delphi-Quellcode:
irgendein Typ sein, der automatisch in einen
LFieldName
Delphi-Quellcode:
gecastet werden kann. Straight forward wäre da der Typ
string
Delphi-Quellcode:
.
string
Delphi-Quellcode:
muss ein Typ sein, der einen Enumerator bereitstellt, der zum Typ von
LFieldNames
Delphi-Quellcode:
passt. Straight forward wäre hier
LFieldName
Delphi-Quellcode:
oder
TArray<string>
Delphi-Quellcode:
oder ...
TStringList
|
AW: ParamByName geht und geht mal nicht
Ich weiß nicht, ob es in XE2 schon geht
Delphi-Quellcode:
var ...
fieldname: string; ... for fieldname in Query_Quelle.GetFieldNames do |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 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