欢迎来到天天文库
浏览记录
ID:17861946
大小:7.02 MB
页数:17页
时间:2018-09-07
《跟我学vs#语言编程技术——操作数据库中的二进制字段的应用示例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、杨教授工作室精心创作的优秀程序员职业提升必读系列资料1.1跟我学VS#语言编程技术——操作数据库中的二进制字段的应用示例所谓二进制字段,是指任何二进制类型的文件,可以保存在数据库的字段中,如图像文件或者Word文档文件等。对二进制字段,在Access数据库中一般设计为OLE对象,而在SQLServer中则设计为image类型。下面通过两个应用的实例来说明实现的方法。1.1.1将Word文档文件存储到数据库表中的应用示例——数据库字段的数据为Word文档文件由于Word文档通常比较大,所以在对数据库
2、操作时并不希望将所有的记录全部调入内存,而是希望当用户浏览到所需要的Word文档所在的记录时,再将它所对应的Word文档字段调入内存比较合适。所以构造两个连接,第一个是除去大二进制字段的数据集,主要用于显示基础信息(作为浏览内容),第二个则只调入需要的那条记录,再该记录中包括需要处理的Word文档大二进制字段。1、设计包含有Word文档的数据表在DataBase数据库文件中新增一个数据表,包含Word文档的数据库表结构如下,表名为WordBinData:IDint4主键,自动增加FileNamen
3、varchar20WordFileimage1617杨教授工作室,版权所有,盗版必究,17/17页杨教授工作室精心创作的优秀程序员职业提升必读系列资料2、设计一个C#的应用程序项目其界面如下:一个DataGrid控件和五个按钮。3、加入两个SqlDataAdapter控件,都连接到Word表但sqlDataAdapter1控件连接到Word表中的ID和FileName字段。目的是只显示基本的数据以快速导航,当查看到指定的记录时再显示详细的数据。17杨教授工作室,版权所有,盗版必究,17/17页杨教
4、授工作室精心创作的优秀程序员职业提升必读系列资料而sqlDataAdapter2控件连接到Word表中的ID和FileName、WordFile字段17杨教授工作室,版权所有,盗版必究,17/17页杨教授工作室精心创作的优秀程序员职业提升必读系列资料注意:两个连接的表是相同的,所以DataSet建立表的时候发生重名;需要将sqlDataAdapter1的TableMaping属性修改表的名字为WordBinData。而需要利用sqlDataAdapter2的TableMaping属性来设置修改表的
5、名字为17杨教授工作室,版权所有,盗版必究,17/17页杨教授工作室精心创作的优秀程序员职业提升必读系列资料WordBinDataAll。4、生成数据集选择“数据”菜单中的“生成数据集”子菜单。5、将DataGrid的DataSource属性设置为dataSet11.WordBinData数据表以进行绑定。17杨教授工作室,版权所有,盗版必究,17/17页杨教授工作室精心创作的优秀程序员职业提升必读系列资料6、编程各个按钮的事件privatevoidbutton1_Click(objectsend
6、er,System.EventArgse){//下载数据dataSet11.Clear();sqlDataAdapter1.Fill(dataSet11);}privatevoidbutton2_Click(objectsender,System.EventArgse){//保存为本地文件intRowNum=dataGrid1.CurrentRowIndex;//获取当前行号dataSet11.Tables["WordBinDataAll"].Clear();//当前行完成数据下载sqlDataA
7、dapter2.SelectCommand.CommandText="select*fromWordBinDatawhereID="+dataSet11.Tables["WordBinData"].Rows[RowNum]["ID"].ToString();sqlDataAdapter2.Fill(dataSet11);stringsaveFileName;SaveFileDialogsaveDlg=newSaveFileDialog();saveDlg.Filter="Word文档
8、*.Doc"
9、;if(saveDlg.ShowDialog()==DialogResult.OK){try{saveFileName=saveDlg.FileName;//构造一个文件流和一个二进制流,注意添加usingSystem.IO;FileStreamfs;BinaryWriterbw;byte[]outbyte;17杨教授工作室,版权所有,盗版必究,17/17页杨教授工作室精心创作的优秀程序员职业提升必读系列资料outbyte=(byte[])dataSet11.Tables["Wor
此文档下载收益归作者所有