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 定义一个表单,如下图:

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

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

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

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

编缉推荐阅读以下文章

  • 暂无相关文章

 

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

  4)选择域:

  如下图只选择部门,

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

编缉推荐阅读以下文章

  • 暂无相关文章

 

  4. 设置下拉框的属性:

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

  5 . 运行时的界面:

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

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

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

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

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

编缉推荐阅读以下文章

  • 暂无相关文章

 

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

 

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

  查看原图(大图)

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

InfoPath进阶之一:前言及简单读取SQL或列表的数据

posted on 2010-07-20 10:22  艾思派客  阅读(665)  评论(2编辑  收藏  举报

导航