Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
FreePascal / Lazarus
|
AW: ADO stolpert über chr(13) chr(10)
23. Mai 2011, 17:18
ich habe einmal den Debugger angeworfen, es sieht so aus als würde es hier knirschen:
Delphi-Quellcode:
Unit ADODB
....
function PropertyExists( const PropList: ADOInt.Properties; const PropName: WideString): Boolean;
var
I: Integer;
begin
for I := PropList.Count - 1 downto 0 do <<<<<<<<<<<<<<<<<<
if PropList[I]. Name = PropName then
begin
Result := True;
Exit;
end;
Result := False;
end;
PropList.count ist 0!
und hier geht's dann weiter
Delphi-Quellcode:
Unit System
function _CheckAutoResult(ResultCode: HResult): HResult;
{$IF Defined(PIC) or Defined(PUREPASCAL)}
begin
if ResultCode < 0 then
begin
if Assigned(SafeCallErrorProc) then
SafeCallErrorProc(ResultCode, Pointer(-1)); // loses error address
Error(reSafeCallError);
end;
Result := ResultCode;
end;
{$ELSE}
asm
TEST EAX,EAX <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
JNS @@2
MOV ECX,SafeCallErrorProc
TEST ECX,ECX
JE @@1
MOV EDX,[ESP]
CALL ECX
@@1: MOV AL,reSafeCallError
JMP Error
@@2:
end;
{$IFEND}
Gruß
K-H
Nachtrag:
Ich bin einen halben Schritt weiter gekommen. Es hat wohl etwas mit der Menge der '||' zu tun.
Folgende Abfrage liefert den Fehler
Code:
select 'Insert into casename (CASENAMEKEY,CASEKEY,NAMETYPEKEY,NAMEKEY,ARCHIVED)'||
' values (nextkey.nextval,'||cases.casekey||',105,38047483,0);'||' CRLF'
,cases.casekey
,cases.casereference
,cases.CaseTypeKey
,SachB.Name,IndSachb.FirstName
,Assis.Name
folgende nicht
Code:
select 'Insert into casename (CASENAMEKEY,CASEKEY,NAMETYPEKEY,NAMEKEY,ARCHIVED)',
' values (nextkey.nextval,'||cases.casekey||',105,38047483,0);'||' CRLF'
,cases.casekey
,cases.casereference
,cases.CaseTypeKey
,SachB.Name,IndSachb.FirstName
,Assis.Name
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
Geändert von p80286 (23. Mai 2011 um 18:17 Uhr)
|