Bookmark.InsertDatabase 方法

从数据源(例如,一个单独的 Microsoft Office Word 文档、一个 Microsoft Office Excel 工作表或一个 Microsoft Access 数据库)检索数据,并以表的形式插入该数据来代替 Bookmark 控件。

命名空间:  Microsoft.Office.Tools.Word
程序集:  Microsoft.Office.Tools.Word(在 Microsoft.Office.Tools.Word.dll 中)

语法

声明
Sub InsertDatabase ( _
    ByRef Format As Object, _
    ByRef Style As Object, _
    ByRef LinkToSource As Object, _
    ByRef Connection As Object, _
    ByRef SQLStatement As Object, _
    ByRef SQLStatement1 As Object, _
    ByRef PasswordDocument As Object, _
    ByRef PasswordTemplate As Object, _
    ByRef WritePasswordDocument As Object, _
    ByRef WritePasswordTemplate As Object, _
    ByRef DataSource As Object, _
    ByRef From As Object, _
    ByRef To As Object, _
    ByRef IncludeFields As Object _
)
void InsertDatabase(
    ref Object Format,
    ref Object Style,
    ref Object LinkToSource,
    ref Object Connection,
    ref Object SQLStatement,
    ref Object SQLStatement1,
    ref Object PasswordDocument,
    ref Object PasswordTemplate,
    ref Object WritePasswordDocument,
    ref Object WritePasswordTemplate,
    ref Object DataSource,
    ref Object From,
    ref Object To,
    ref Object IncludeFields
)

参数

  • Format
    类型:System.Object%
    在**“表格自动套用格式”对话框中的“格式”**框中列出的格式。可以是 WdTableFormat 常数中的任何一个。默认情况下,会对表中的单元格应用边框。
  • Style
    类型:System.Object%
    由应用于该表的 Format 指定的“自动套用格式”的特性。使用以下值的任意组合之和:
    [1|1] 值
    [1|2] 意义
    [2|1] 0 (零)
    [2|2] 无
    [3|1] 1
    [3|2] 边框
    [4|1] 2
    [4|2] 底纹
    [5|1] 4
    [5|2] 字体
    [6|1] 8
    [6|2] 颜色
    [7|1] 16
    [7|2] 自动调整
    [8|1] 32
    [8|2] 标题行
    [9|1] 64
    [9|2] 最后一行
    [10|1] 128
    [10|2] 第一列
    [11|1] 256
    [11|2] 最后一列
  • LinkToSource
    类型:System.Object%
    如果为 true,则创建新表与数据源之间的链接。
  • Connection
    类型:System.Object%
    要执行由 SQLStatement 指定的查询的范围。指定范围的方式取决于数据的检索方式。例如:
    如果通过开放式数据库连接 (ODBC) 检索,则指定一个连接字符串。
    如果通过使用动态数据交换 (DDE) 从 Microsoft Office Excel 检索,则指定一个指定范围或“整个电子表格”。
    Note动态数据交换 (DDE) 是比较老的技术,它不是很安全。如果可能,请使用更安全的 DDE 的替代技术,如对象链接和嵌入 (OLE)。
    如果从 Microsoft Access 检索数据,则指定单词“Table”或“Query”,其后跟表名或查询名称。
  • SQLStatement
    类型:System.Object%
    一个可选查询字符串,它检索要插入文档中的、主数据源中的数据的子集。
  • SQLStatement1
    类型:System.Object%
    如果查询字符串的长度超过 255 个字符,则 SQLStatement 表示该字符串的第一部分,而 SQLStatement1 表示第二部分。
  • PasswordDocument
    类型:System.Object%
    打开数据源所需的密码(如果有)。(请参见下面的备注。)
  • PasswordTemplate
    类型:System.Object%
    如果数据源为 Microsoft Office Word 文档,则此参数为打开附加模板所需的密码(如果有)。(请参见下面的备注。)
  • WritePasswordDocument
    类型:System.Object%
    保存对文档的更改所需的密码。(请参见下面的备注。)
  • WritePasswordTemplate
    类型:System.Object%
    保存对模板的更改所需的密码。(请参见下面的备注。)
  • DataSource
    类型:System.Object%
    数据源的路径和文件名。
  • From
    类型:System.Object%
    要插入的记录的范围中第一个数据记录的编号。
  • To
    类型:System.Object%
    要插入的记录的范围中最后一个数据记录的编号。
  • IncludeFields
    类型:System.Object%
    为 true,则在新表的第一行中包含来自数据源的字段名。

备注

应避免在应用程序中使用硬编码的密码。如果在某个过程中需要使用密码,则向用户请求该密码并将它存储到一个变量中,然后在您的代码中使用该变量。

应避免使用内置系统管理员 (sa) 登录帐户。而应让 sysadmin 的系统管理员成员成为固定的服务器角色,并让他们使用他们自己的帐户登录。仅当没有其他登录方式时,才使用 sa 登录帐户。为防止未经授权的通过 sa 登录帐户的访问,应当为该帐户分配一个唯一的、严密的密码。

如果可能,请使用 Windows 身份验证(也称为受信任的连接),它使用 Windows 用户帐户连接到 SQL Server。当用户通过 Windows 用户帐户连接时,SQL Server 使用 Windows 操作系统中的信息来验证帐户名和密码。在能够使用 Windows 身份验证之前,服务器管理员必须将 SQL Server 配置为使用此模式的身份验证。如果 Windows 身份验证不可用,请避免保存用户的登录信息。更为安全的做法是让用户在每次登录时都输入他们的登录信息。

可选参数

有关可选参数的信息,请参见Office 解决方案中的可选参数

示例

此示例在 Bookmark 控件中插入一个 Microsoft Excel 电子表格。样式值 (191) 是 1、2、4、8、16、32 和 128 数字的组合。此示例假定您在 C 盘根目录下保存了名为 Data.xlsx 的工作簿,工作表上至少有两行数据。

此示例针对的是文档级自定义项。

Private Sub BookmarkInsertDatabase()

    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Dim Bookmark1 As Microsoft.Office.Tools.Word.Bookmark = _
        Me.Controls.AddBookmark(Me.Paragraphs(1).Range, "Bookmark1")

    Bookmark1.Text = "This is sample bookmark text"
    Bookmark1.InsertDatabase(Format:=Word.WdTableFormat _
        .wdTableFormatClassic1, Style:=191, LinkToSource:=False, _
        Connection:="Entire Spreadsheet", DataSource:="C:\Data.xlsx")

End Sub
private void BookmarkInsertDatabase()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    Microsoft.Office.Tools.Word.Bookmark bookmark1 =
        this.Controls.AddBookmark(this.Paragraphs[1].Range,
        "bookmark1");
    bookmark1.Text = "This is sample bookmark text";

    object Format = Word.WdTableFormat.wdTableFormatClassic1;
    object Style = 191;
    object LinkToSource = false;
    object Connection = "Entire Spreadsheet";
    object DataSource = "C:\\Data.xlsx";

    bookmark1.InsertDatabase(ref Format, ref Style, ref LinkToSource,
        ref Connection, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref DataSource,
        ref missing, ref missing, ref missing);
}

.NET Framework 安全性

请参见

参考

Bookmark 接口

Microsoft.Office.Tools.Word 命名空间