mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 11:59:19 +02:00
odbc: use ftMemo/ftWideMemo for SQL_VARCHAR/SQL_WVARCHAR declared as nvarchar(max)
git-svn-id: trunk@49470 -
This commit is contained in:
parent
e841e95390
commit
3fa35f258b
@ -986,10 +986,24 @@ begin
|
|||||||
// NOTE: I made some guesses here after I found only limited information about TFieldType; please report any problems
|
// NOTE: I made some guesses here after I found only limited information about TFieldType; please report any problems
|
||||||
case DataType of
|
case DataType of
|
||||||
SQL_CHAR: begin FieldType:=ftFixedChar; FieldSize:=ColumnSize; end;
|
SQL_CHAR: begin FieldType:=ftFixedChar; FieldSize:=ColumnSize; end;
|
||||||
SQL_VARCHAR: begin FieldType:=ftString; FieldSize:=ColumnSize; end;
|
SQL_VARCHAR:
|
||||||
|
begin
|
||||||
|
FieldSize:=ColumnSize;
|
||||||
|
if FieldSize=BLOB_BUF_SIZE then // SQL_VARCHAR declared as NVARCHAR(MAX) must be ftBlob - variable data size
|
||||||
|
FieldType:=ftMemo
|
||||||
|
else
|
||||||
|
FieldType:=ftString;
|
||||||
|
end;
|
||||||
SQL_LONGVARCHAR: begin FieldType:=ftMemo; FieldSize:=BLOB_BUF_SIZE; end; // is a blob
|
SQL_LONGVARCHAR: begin FieldType:=ftMemo; FieldSize:=BLOB_BUF_SIZE; end; // is a blob
|
||||||
SQL_WCHAR: begin FieldType:=ftFixedWideChar; FieldSize:=ColumnSize; end;
|
SQL_WCHAR: begin FieldType:=ftFixedWideChar; FieldSize:=ColumnSize; end;
|
||||||
SQL_WVARCHAR: begin FieldType:=ftWideString; FieldSize:=ColumnSize; end;
|
SQL_WVARCHAR:
|
||||||
|
begin
|
||||||
|
FieldSize:=ColumnSize;
|
||||||
|
if FieldSize=BLOB_BUF_SIZE then // SQL_VARCHAR declared as NVARCHAR(MAX) must be ftBlob - variable data size
|
||||||
|
FieldType:=ftWideMemo
|
||||||
|
else
|
||||||
|
FieldType:=ftWideString;
|
||||||
|
end;
|
||||||
SQL_SS_XML,
|
SQL_SS_XML,
|
||||||
SQL_WLONGVARCHAR: begin FieldType:=ftWideMemo; FieldSize:=BLOB_BUF_SIZE; end; // is a blob
|
SQL_WLONGVARCHAR: begin FieldType:=ftWideMemo; FieldSize:=BLOB_BUF_SIZE; end; // is a blob
|
||||||
SQL_DECIMAL: begin FieldType:=ftFloat; FieldSize:=0; end;
|
SQL_DECIMAL: begin FieldType:=ftFloat; FieldSize:=0; end;
|
||||||
|
Loading…
Reference in New Issue
Block a user