zoukankan      html  css  js  c++  java
  • AO中保存二进制大对象(BLOB)

    示例代码演示如何保存一个.lyr文件,作为资料保存

    //保存
    Private Sub UIButtonControl1_Click()
    ' Get the IPersistStream for the first layer from the map
    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument

    Dim pPersist As IPersistStream
    Set pPersist = pMxDoc.FocusMap.Layer(0)

    ' Now persist the layer to the memory BLOB stream
    Dim pMemoryStream As IMemoryBlobStream
    Set pMemoryStream = New MemoryBlobStream

    pPersist.Save pMemoryStream, False

    ' Finally, save the BLOB into the database
    Dim pWorkspaceFactory As IWorkspaceFactory
    Set pWorkspaceFactory = New AccessWorkspaceFactory

    Dim pFeatureWorkspace As IFeatureWorkspace
    Set pFeatureWorkspace =
    pWorkspaceFactory.OpenFromFile("C:\Source\BLOB.mdb", 0)

    Dim pTable As ITable
    Set pTable = pFeatureWorkspace.OpenTable("MyLayers")

    Dim pRow As IRow
    Set pRow = pTable.CreateRow

    pRow.Value(pRow.Fields.FindField("Layers")) = pMemoryStream
    pRow.Store
    End Sub


    //读取
    Private Sub UIButtonControl2_Click()
    Dim pWorkspaceFactory As IWorkspaceFactory
    Set pWorkspaceFactory = New AccessWorkspaceFactory

    Dim pFeatureWorkspace As IFeatureWorkspace
    Set pFeatureWorkspace =
    pWorkspaceFactory.OpenFromFile("C:\Source\BLOB.mdb", 0)

    Dim pTable As ITable
    Set pTable = pFeatureWorkspace.OpenTable("MyLayers")

    Dim pCursor As ICursor
    Set pCursor = pTable.Search(Nothing, False)

    Dim pRow As IRow
    Set pRow = pCursor.NextRow

    If (pRow Is Nothing) Then Exit Sub

    Dim pMemoryStream As IMemoryBlobStream
    Set pMemoryStream = pRow.Value(pRow.Fields.FindField("Layers"))


    Dim pLayer As ILayer
    Set pLayer = New FeatureLayer

    Dim pPersist As IPersistStream
    Set pPersist = pLayer

    pPersist.Load pMemoryStream

    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument

    pMxDoc.FocusMap.AddLayer pLayer
    End Sub
  • 相关阅读:
    199. 二叉树的右视图
    二叉树前、中、后、层次、遍历的非递归法
    奇思妙想
    917. 仅仅反转字母【双指针】
    JVM性能监控与故障处理工具
    Java线程池使用和常用参数(待续)
    MySQL常用知识
    手写常用算法
    LightOj 1170
    逆元总结
  • 原文地址:https://www.cnblogs.com/linghe/p/1389952.html
Copyright © 2011-2022 走看看