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
  • 相关阅读:
    树莓派开发实战(第2版)
    Windows 7+Office 2010综合应用培训教程
    Adobe Edge Animate CC
    从零开始学采购:供应商管理与采购过程控制
    iOS项目开发全程实录
    SEO搜索引擎实战详解
    Photoshop移动UI设计完全实例教程
    游戏开发物理学
    psd,
    放到 userdefault,而不是 cache里面,
  • 原文地址:https://www.cnblogs.com/linghe/p/1389952.html
Copyright © 2011-2022 走看看