VS2005设计智能客户端(三)OFFICE中的数据缓存与处理

 

l      数据缓存<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

通过vs2005进行数据缓存十分简单,首先是通过Office模板建立一个Word Document 的项目,然后通过BindingSource进行数据源的连接,然后通过拖放实现数据源与文档的绑定,最后设置自动生成的强类型DataSet CacheinDocument属性为true 并将其设置为Public,这样就能在文档中实现数据缓存。

l      数据处理

n         数据岛

u       在文档中保存程序数据,是数据缓存的一种方式。

u       使用数据岛有以下优点:

l         客户端离线后仍能使用数据

l         可被服务进程访问

l         存储配置信息

n         ServerDocument

u       ServerDocument提供了对Office 文档的处理,可以处理其中的数据,而无须打开Office应用程序。

u       ServerDocument类介绍:

l         使用Microsoft.VisualStudio.Tools.Applications.runtime命名空间。

l         有以下方法:

n         AddCustomization 静态方法,用于添加自定义程序集信息。

n         RemoveCustomization 删除自定义程序集信息。

n         Save 保存对文档的所有修改。

n         Close 关闭文档。

l         有以下属性:

n         AppManifest包括文档的程序集信息。

n         CachedData 文档中缓存的数据信息。

n         Document获取加载文档的字节数组。

u       示例:(需要引用命名空间Microsoft.VisualStudio.Tools.Applications.runtime

l         显示自定义程序集的路径:拖放TextBoxButton控件,通过点击ButtonTextBox中显示自定义程序集的路径。以下为Button事件处理的代码。

string  filepath  =   @" D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WordDocument3\WordDocument3\bin\Debug\WordDocument3.doc " ;
            ServerDocument sd 
=   new  ServerDocument(filepath);
            textBox1.Text 
=  sd.AppManifest.Dependency.AssemblyPath;


l         添加或删除自定义程序集代码:

None.gif string  filepath  =   @" D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WordDocument3\WordDocument3\bin\Debug\WordDocument3.doc " ;
None.gif            ServerDocument.RemoveCustomization(filepath);
// 删除
None.gif
            ServerDocument.AddCustomization(filepath); // 添加 


l         访问文档中数据:

None.gif string  filepath  =   @" D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WordDocument3\WordDocument3\bin\Debug\WordDocument3.doc " ;
None.gif            ServerDocument sd 
=   new  ServerDocument(filepath);
None.gif            
string  xmlData = sd.CachedData.HostItems[ 0 ].CachedData[ 0 ].Xml;
None.gif            StringReader sr 
=   new  StringReader(xmlData);
None.gif            _123DataSet.联系方式.ReadXml(sr);  
// 这里的DataSet必须是强类型的,要与源文档中的数据格式一样。
None.gif
            _123DataSet.联系方式.AcceptChanges();
None.gif            sd.Close();


l         修改文档中数据:

 1 None.gif this .联系方式TableAdapter.Fill( this ._123DataSet.联系方式);
 2 None.gif            //  从数据库中取得新信息
 3 None.gif             StringWriter sw = new  StringWriter();
 4 None.gif            _123DataSet.联系方式.WriteXml(sw);
 5 None.gif             string  filepath  =   @" D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\WordDocument3\WordDocument3\bin\Debug\WordDocument3.doc " ;
 6 None.gif
 7 None.gif            ServerDocument sd  =   new  ServerDocument(filepath);
 8 None.gif             // 将新信息写入文档缓存
 9 None.gif             sd.CachedData.HostItems[ 0 ].CachedData[ 0 ].Xml  =  sw.ToString();
10 None.gif            sd.Save(); // 保存
11 None.gif             sd.Close();
12 None.gif            _123DataSet.AcceptChanges();

转载于:https://www.cnblogs.com/zmsx/archive/2005/12/11/294893.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值