OWC使用ASPNET的程序集作数据源
来源:互联网 发布:鄂维南 大数据 编辑:程序博客网 时间:2024/05/22 17:02
OWC使用ASPNET的程序集作数据源
预期读者具备的条件:
1. 会使用ASP.NET(C#)访问数据库
2. 对OWC使用数据库表作为数据源有一定的了解与应用
3. 了解XML语言
步骤:
前提:使用VS.NET 2003 建立一个名称为Demo1的WEB工程项目
1. 建立一个XSLT文件,命名为:Rowset.xlst ,格式如下:
Rowset.xlst:
<xsl:output method="xml" omit-xml-declaration = "yes" indent="yes"/>
<xsl:template match="/">
<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema">
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'>
<s:AttributeType name="LastName" rs:number="1" rs:writeunknown="true">
<s:datatype dt:type="string" dt:maxLength="10" rs:maybenull="false" />
</s:AttributeType>
<s:AttributeType name='OrderTotal' rs:number='2' rs:nullable='true'>
<s:datatype dt:type='float' dt:maxLength='8' rs:precision='15' rs:fixedlength='true'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<xsl:for-each select="MyDataset/Table">
<xsl:element name="z:row" namespace="#RowsetSchema">
<xsl:attribute name="LastName">
<xsl:value-of select="LastName"/>
</xsl:attribute>
<xsl:attribute name="OrderTotal">
<xsl:value-of select="OrderTotal"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</rs:data>
</xml>
</xsl:template>
</xsl:stylesheet>
2.建立一个CreateData.aspx页面,其代码如下:
CreateData.aspx:
只留最上面
<%@ Page language="c#" Codebehind="CreateData.aspx.cs"…%>字样的一行
CreateData.aspx.cs
在其Page_Load写如下代码:
...{
// 在此处放置用户代码以初始化页面
string strConn= "User ID=<username>;Password=<password>;Initial Catalog=Northwind;Data Source=YourSQLServer;";
string sSQL = "SELECT LastName, Sum([UnitPrice]*[Quantity]*(1-[Discount])) AS OrderTotal FROM Employees INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID) ON Employees.EmployeeID = Orders.EmployeeID GROUP BY LastName";
//Connect to the data source.
SqlConnection sqlCon=new SqlConnection (strConn);
sqlCon.Open();
//Build a dataSet for Employee Sales.
DataSet ds = new DataSet("MyDataset");
SqlDataAdapter da =new SqlDataAdapter(sSQL,sqlCon);
da.Fill(ds);
//Transform the dataSet using the stylesheet.
XmlDataDocument xmlDoc_ds= new XmlDataDocument(ds);
XslTransform xslTran=new XslTransform();
xslTran.Load(this.Context.Server.MapPath("Rowset.xslt"));
System.Text.StringBuilder t = new System.Text.StringBuilder();
xslTran.Transform(xmlDoc_ds,null,new System.IO.StringWriter(t),null);
string str=t.ToString();
str=str.Replace("> </z:row>","/>");
Response.ContentType="text/xml";
Response.Write(str);
}
3.建立一个default.htm页面,添加OWC的Chart和PivotTable控件
(1)把Chart的数据源设置为PrivotTable1
(2)设置PrivotTable1的数据源
经过以上步骤,就可以对OWC进行拖拉操作了,以后的操作和OWC使用数据库表作为数据源一样
微软网站上的相关介绍
http://support.microsoft.com/kb/303016/zh-cn?spid=548&sid=500
不过不知道是因为我VS版本的问题还是因为什么,总之了上面网址给出的程序,我在使用的时候只能获得第一条记录,我曾把程序输出的XML文件看了一下,寻找的解决办法如下:
微软网站上的程序输出的格式如下
<z:row …>
</z:row>
把该xml文件作为owc的数据源的时候确实只有第一条记录,而把xml文件格式改成下面的格式:
<z:row …/>
owc就可以显示所有记录,
所以我在该文档中介绍的Demo程序做了稍微的变动,不晓得原因在哪,按理论上这两种输出格式是一样的,若有知道原因的请指点一二啊!呵呵~~
该方法的相关应用:
1.可以隐藏数据库的连接字符串
2.使用Oracle数据库的时候,需要配置Oracle Client,而每台机器都需要配置就达不到B/S结构的优势了
…等等吧!我目前只看到这两个好处,希望有不同见解的朋友能留言给我哦!
- OWC使用ASPNET的程序集作数据源
- OWC使用ASPNET的程序集作数据源
- OWC控件使用XML数据源展现数据
- OWC使用技巧集
- ireport 使用JRMapCollectionDataSource作数据源
- spring中使用proxool作数据源连接池的配置
- spring中使用proxool作数据源连接池的配置
- owc使用
- OWC 使用
- ireport 中使用javabean 作数据源开发
- OWC(Office Web Component)的使用
- 使用owc开发报表的示例
- 用pojo对象作birt的数据源
- 用pojo对象作birt的数据源
- 使用程序注册数据源
- aspnet用excel做数据源
- AspNet分页控件AjaxPager的使用
- 使用OWC显示图例
- [转贴]在外留学的人写给所有留守的XDJM
- 开通BLOG啦
- Synchronization Context
- File 对象的相关操作和访问(2)
- 开博1月庆
- OWC使用ASPNET的程序集作数据源
- ACM会用到的一点数学知识
- 服务器端编程实例(二 单进程并发_IO多路复用)
- File 对象的相关操作和访问(3)
- 在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组
- 编程之道 Translated By Geoffrey James
- MSDN放出简体中文版Windows Vista RTM(包含下载)
- 对c/c++可变参数表的深层探索
- LumaQQ2006的安装