|
@@ -593,6 +593,7 @@ begin
|
|
SQLBINARY: Result:=ftBytes;
|
|
SQLBINARY: Result:=ftBytes;
|
|
SQLVARBINARY: Result:=ftVarBytes;
|
|
SQLVARBINARY: Result:=ftVarBytes;
|
|
SYBUNIQUE: Result:=ftGuid;
|
|
SYBUNIQUE: Result:=ftGuid;
|
|
|
|
+ SYBVARIANT: Result:=ftBlob;
|
|
else
|
|
else
|
|
DatabaseErrorFmt('Unsupported SQL DataType %d "%s"', [SQLDataType, dbprtype(SQLDataType)]);
|
|
DatabaseErrorFmt('Unsupported SQL DataType %d "%s"', [SQLDataType, dbprtype(SQLDataType)]);
|
|
Result:=ftUnknown;
|
|
Result:=ftUnknown;
|
|
@@ -807,15 +808,14 @@ var data: PByte;
|
|
datalen: DBINT;
|
|
datalen: DBINT;
|
|
srctype: INT;
|
|
srctype: INT;
|
|
begin
|
|
begin
|
|
- //see also LoadField
|
|
|
|
|
|
+ // see also LoadField
|
|
srctype:=dbcoltype(FDBProc, FieldDef.FieldNo);
|
|
srctype:=dbcoltype(FDBProc, FieldDef.FieldNo);
|
|
data:=dbdata(FDBProc, FieldDef.FieldNo);
|
|
data:=dbdata(FDBProc, FieldDef.FieldNo);
|
|
datalen:=dbdatlen(FDBProc, FieldDef.FieldNo);
|
|
datalen:=dbdatlen(FDBProc, FieldDef.FieldNo);
|
|
|
|
|
|
ReAllocMem(ABlobBuf^.BlobBuffer^.Buffer, datalen);
|
|
ReAllocMem(ABlobBuf^.BlobBuffer^.Buffer, datalen);
|
|
-
|
|
|
|
- ABlobBuf^.BlobBuffer^.Size :=
|
|
|
|
- dbconvert(FDBProc, srctype, data , datalen, srctype, ABlobBuf^.BlobBuffer^.Buffer, datalen);
|
|
|
|
|
|
+ Move(data^, ABlobBuf^.BlobBuffer^.Buffer^, datalen);
|
|
|
|
+ ABlobBuf^.BlobBuffer^.Size := datalen;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TMSSQLConnection.FreeFldBuffers(cursor: TSQLCursor);
|
|
procedure TMSSQLConnection.FreeFldBuffers(cursor: TSQLCursor);
|