将对象保存到数据库中
Saving an Object into Database
我正在尝试将对象保存并加载到 BLOB 类型的数据库字段中。
这可能吗?如果是,怎么做?
示例:
正在将 vk.class.Offer.cls
的实例保存到 DB-Table OfferHead
并从 DB-Table OfferHead
.
加载 vk.class.Offer.cls
类型的 objOffer
我正在尝试以下代码:
DEFINE VARIABLE objAngebot AS CLASS vk.class.Angebot NO-UNDO.
DEFINE VARIABLE oObj as MemPTR NO-UNDO.
DEFINE BUFFER bAngKopf FOR AngKopf.
COPY-LOB bAngKopf.ank_ObjHandle TO oObj.
objAngebot = CAST(oObj, vk.class.Angebot).
我通过将对象写入文件并将其重新读回数据库来使其工作。
COPY-LOB FROM bAngPos.anp_ObjHandle TO FILE cPfadPos.
objInputStream = NEW Progress.IO.FileInputStream(cPfadPos).
objSerializer = NEW Progress.IO.BinarySerializer().
objAngebotPos = CAST(objSerializer:Deserialize(objInputStream), vk.class.AngebotPos) NO-ERROR.
objInputStream:Close().
OS-DELETE VALUE(cPfadPos).
我正在尝试将对象保存并加载到 BLOB 类型的数据库字段中。 这可能吗?如果是,怎么做?
示例:
正在将 vk.class.Offer.cls
的实例保存到 DB-Table OfferHead
并从 DB-Table OfferHead
.
vk.class.Offer.cls
类型的 objOffer
我正在尝试以下代码:
DEFINE VARIABLE objAngebot AS CLASS vk.class.Angebot NO-UNDO.
DEFINE VARIABLE oObj as MemPTR NO-UNDO.
DEFINE BUFFER bAngKopf FOR AngKopf.
COPY-LOB bAngKopf.ank_ObjHandle TO oObj.
objAngebot = CAST(oObj, vk.class.Angebot).
我通过将对象写入文件并将其重新读回数据库来使其工作。
COPY-LOB FROM bAngPos.anp_ObjHandle TO FILE cPfadPos.
objInputStream = NEW Progress.IO.FileInputStream(cPfadPos).
objSerializer = NEW Progress.IO.BinarySerializer().
objAngebotPos = CAST(objSerializer:Deserialize(objInputStream), vk.class.AngebotPos) NO-ERROR.
objInputStream:Close().
OS-DELETE VALUE(cPfadPos).