zoukankan      html  css  js  c++  java
  • InfoPath进阶之一:前言及简单读取SQL或列表的数据

    前言:

    笔者认为InfoPath,它是一个划时代的产品,它把表单设计,从原始的代码设计中独立出来,让表单也成为一种,数据形式而不是程序的附属物。

    InfoPath进阶系列是我在设计InfoPath表单中,总结出来的几个重要的方面,其中包括简单读取SQL或列表数据、使用SQL语句来读取SQL数据、使用WebService来读取列表数据、写重复表的数据到SQL、读SQL到重复表。

    这个进阶系列可以让读者使用几篇精华文章就可以自由驾驭InfoPath、SharePoint列表与SQL Server的互操作。

    必备的技能:

    读本系列的文章,必须要对InfoPath有一个基本的入门了解,要会使用InfoPath制作简单的表单模板。

    必须安装的软件:

    VSTA,这个组件在默认安装Office 时,是不被安装的。但这个可以在OFFICE 2007的安装包中找到,打开OFFICE 2007的安装程序,在INFOPATH那一节里,可以找到相关安装程序,这里不再继续赘述。

    SQL Server , 为了方便调试程序,你可以安装一个Express版本的,如果你已经安装了SharePoint 2007,它就会自动安装一个EXPRESS版本的SQL。 你可以在微软的官方网站中,下载一个 Sql Server Management Studio,用来连接和管理数据库。

    一、简单读取SQL或列表数据

    示例:如何使用InfoPath取一个SharePoint列表中所有数据,和SQL表中所有数据。

    本节的目的,不是让读者简简单单的去从一个Sharepoint列表或是一个SQL表取一栏数据出来,当成一个下拉框的选项。而是教给读者更多的概念,让读者可以自由根据定义,方便读者理解更多的概念。

    重要概念:数据源与数据连接

    在InfoPath的表单模板中,我们可以定义2个很重要的概念:数据源与数据连接。

    数据源:在默认没有外部连接的情况下,InfoPath模板会自定义一个主数据源,这个数据源叫MainDataSource,它是以my这个前缀开头的。如果保存表单数据,就意味着,只保存这个主数据源的数据。 其它任何定义的数据源,都叫辅助数据源,这就意味着,其它数据源只有在表单“运行”期间才有数据,一旦这个表单关闭保存,它就消失在内存中。

    数据连接: 你可以定义很多数据连接,比如从XML文件,从SQL,从列表等等,一旦这个数据连接被执行,它就会产生一个数据源与这个数据连接相对应。

    PS重要说明:本示例在本机上运行没有问题,但是如果把模板发布到网站上,使用基于浏览器的Forms Service时,要注意权限的问题,请确保您的IIS应用程序帐户可以读取、更新和写入您本地的SQL数据库。

    1 定义一个表单,如下图:

    image

    其中申请部门,是需要从一个名叫:部门人员的SharePoint列表中取数据的。

    2 创建一个示例的部门列表

    如下图,创建一个自定义列表,只有2栏,姓名与部门,填上如下示例数据,其中姓名一栏是从“标题”改过来的。

    image

    3 创建到列表的数据连接:

    1) 点击“数据源”面板上的“管理数据连接”,然后点击添加,如下图选择:

    image

    2) 然后如下图,选择SharePoint列表:

    image

    3)然后输入一个SharePoint网站的网址,就进入了列表选择界面,如下图选择部门人员:

    image

    4)选择域:

    如下图只选择部门,

    image

    5) 点击下一步,最后如下图时,按如下图选择,因为我们希望打开表单时就把部门填充上。

    image

    4. 设置下拉框的属性:

    如下图设置下拉框的属性:

    image

    必须要勾上,仅显示具有唯一显示名称的条目。 因为部门的值是重复的,不勾上就会产生重复的值。

    5 . 运行时的界面:

    image

    6 创建一个SQL的表,我们来试试从SQL中读取数据,如下图创建一个表,数据可以从SharePoint列表中拷过来。

    1)首先创建一个数据库,这个数据库我们可以叫它DEMO

    2)然后创建一个表,命名为部门人员,这个表有2个字段,姓名和部门,如下图:

    image

    3)填入示例数据,数据可以从SharePoint列表中copy过来。

    image

    7 在InfoPath中创建一个SQL数据连接

    1) 设置一个“仅接受数据的”连接

    2) “从何处接受数据”,如下图选择:

    image

    3) 配置数据连接文件:

    点击“选择数据库”,来配置一个连接文件

    image

    4)在配置源中,选择“新的SQLServer”连接

    image

    填入本机的服务器名称,这里是OSS,要换成你自己的服务器名称

    image

    选择数据库,就选择刚才我们才创建的,demo

    image

    5) 完成后,就可以在如下对话框中,看见,这一次我们2个字段都选上:

    image

    6)直接点击下一步,直至完成,最后如下,因为之前有了一个数据连接,所以这个数据连接被自动命名为部门人员 2

    image

    7)重新设置下拉框,为SQL数据源:

    image

    8) 预览一下,效果一样:

    image

  • 相关阅读:
    支付宝面试题(顶级互联网公司面试题系列)
    反应器模式 vs 生产者消费者模式
    反应器模式 vs 观察者模式
    Future Promise 模式(netty源码9)
    Pipeline inbound(netty源码7)
    Pipeline outbound
    Pipeline(netty源码)
    顺丰面试题(2018 顶级互联网公司面试题系列)
    【转】 linux编程之GDB调试
    【转】 linux内存管理
  • 原文地址:https://www.cnblogs.com/dosboy/p/1633299.html
Copyright © 2011-2022 走看看