瀏覽代碼

* Assume memo fields are sent as strings, not as bytes.

michael 5 年之前
父節點
當前提交
980c23aa15
共有 1 個文件被更改,包括 17 次插入9 次删除
  1. 17 9
      packages/fcl-db/db.pas

+ 17 - 9
packages/fcl-db/db.pas

@@ -6953,11 +6953,14 @@ begin
   Result := '';
   Result := '';
   V:=GetData;
   V:=GetData;
   if V<>Null then
   if V<>Null then
-    begin
-    S:=BlobToBytes(V);
-    For I:=0 to Length(S)-1 do
-       Result:=TJSString(Result).Concat(TJSString.fromCharCode(S[I]));
-    end;
+    if (DataType=ftMemo) then
+      Result:=String(V)
+    else
+      begin
+      S:=BlobToBytes(V);
+      For I:=0 to Length(S)-1 do
+         Result:=TJSString(Result).Concat(TJSString.fromCharCode(S[I]));
+      end;
 end;
 end;
 
 
 
 
@@ -6989,10 +6992,15 @@ var
   i : Integer;
   i : Integer;
 
 
 begin
 begin
-  SetLength(B, Length(aValue));
-  For I:=1 to Length(aValue) do
-    B[i-1]:=Ord(aValue[i]);
-  SetAsBytes(B);
+  if DataType=ftMemo then
+    SetData(aValue)
+  else
+    begin
+    SetLength(B, Length(aValue));
+    For I:=1 to Length(aValue) do
+      B[i-1]:=Ord(aValue[i]);
+    SetAsBytes(B);
+    end;
 end;
 end;