48 |
|
TFB25ArrayMetaData = class(TFBArrayMetaData,IArrayMetaData) |
49 |
|
private |
50 |
|
FCodePage: TSystemCodePage; |
51 |
+ |
FCharSetWidth: integer; |
52 |
|
protected |
53 |
|
procedure LoadMetaData(aAttachment: IAttachment; aTransaction: ITransaction; |
54 |
|
relationName, columnName: AnsiString); override; |
55 |
|
public |
56 |
|
function GetCharSetID: cardinal; override; |
57 |
|
function GetCodePage: TSystemCodePage; override; |
58 |
+ |
function GetCharSetWidth: integer; override; |
59 |
|
end; |
60 |
|
|
61 |
|
{ TFB25Array } |
123 |
|
if FetchNext then |
124 |
|
begin |
125 |
|
FCharSetID := Data[0].AsInteger; |
126 |
+ |
FCharSetWidth := 1; |
127 |
|
with (aAttachment as TFB25Attachment) do |
128 |
|
if (FCharSetID > 1) and HasDefaultCharSet then |
129 |
|
begin |
134 |
|
begin |
135 |
|
FCodePage := CP_NONE; |
136 |
|
FAttachment.CharSetID2CodePage(FCharSetID,FCodePage); |
137 |
+ |
FAttachment.CharSetWidth(FCharSetID,FCharSetWidth); |
138 |
|
end; |
139 |
|
end; |
140 |
|
end; |
158 |
|
Result := FCodePage; |
159 |
|
end; |
160 |
|
|
161 |
+ |
function TFB25ArrayMetaData.GetCharSetWidth: integer; |
162 |
+ |
begin |
163 |
+ |
Result := FCharSetWidth; |
164 |
+ |
end; |
165 |
+ |
|
166 |
|
{ TFB25Array } |
167 |
|
|
168 |
|
procedure TFB25Array.InternalGetSlice; |