书籍详情
Visual C# 2005文件IO与数据存取秘诀
作者:章立民研究室
出版社:机械工业出版社
出版时间:2007-03-01
ISBN:9787111199724
定价:¥79.00
购买这本书可以去
内容简介
本书综合讲解了Visual Basic 2005文件IO与数据存取的相关知识,内容全面,结构合理,论述清晰,对visual Basic 2005文件IO与数据存取技术及其实际应用都有独到见解,是一本专业性较强的计算机书籍。全书共分14章,包括磁盘、文件平与文件的处理技巧、Windows Form数据绑定、如何连接数据源、数据集模型的数据存取技巧、数据命令模型的数据存取技巧、大型对象的存取技巧、如何使用多活动结果集、执行非同步的数据存取技巧、如何使用SqlBulkCopy对象来执行大量复制操作、DataSet与XML的数据访问技巧以及DataGridView控件的重要开发技巧等内容。书中包含有大量范例,可作为专业编程人员的参考书籍,也适合于对Visual C#有一定了解且想深入研究的读者。
作者简介
章立民研究室:章立民先生是中国台湾地区非常知名和资深的技术作家,是台湾微软公司资深顾问讲师。他从1992年开始于台湾微软公司主讲研讨会,并三度当选该公司最有价值专家MVP。章先生在台湾微软公司担任顾问与讲师的时间长达15年,对微软开发工具与数据库管理系统等技术都有非常深入的研究。章立民先生不仅拥有丰富的实务经验,经常与第一线的开发人员接触并交流,深知从业人员的真正需求。因此,不仅他的图书著作受到大家的肯定与喜爱,他所主讲的研讨会更是深获好评。 为了能够质与量并重,撰写出更多的优质书籍,并为两岸信息文化事业贡献一份心力,章立民先生在2006初正式成立了“章立民研究室”并担任技术总监,亲自审校所有书籍,期许通过团队的力量,提供更多的好书给广大的读者;也希望借此促进良性竞争,提升信息图书的整体质量。 章立民研究室的所有成员有几项特色,第一,在相关信息领域必须有六年以上的实务经验;第二,必须参与或主持数项具代表性的项目;第三,必须同时专精Visual Basic与Visual C# 程序设计语言;第四,对数据库技术必须有相当程度的认识;最后一项,就是必须拥有高度的热诚以及无私分享的精神。 目前,“章立民研究室”的成员中,有人甚至已在美国从事项目开发10年以上,并且已经具备项目经理人的职位。他们在章立民先生的号召之下,投入研究室的写作行列。如此高水平的成员,让广大读者对“章立民研究室”拥有极高的期待。
目录
第1章磁盘、文件夹与文件的处理技巧
条款1综述
条款2路径指定方式
条款3使用DriveInfo类取得计算机的磁盘信息
条款4使用My.Computer.FileSystem对象取得计算机的磁盘信息
条款5如何列举目录
条款6使用My.Computer.FileSystem对象来取得目录信息
条款7.NET Framework 2.0对GetDirectories方法的强化
条款8善用My.Computer.SpecialDirectories对象
条款9善用Environment.GetFolderPath方法
条款10如何取得文件的相关信息
条款11使用My.Computer.FileSystem对象来取得文件信息
条款12.NET Framework 2.0对GetFiles方法的强化
条款13如何建立目录
条款14如何移除一个目录
条款15如何移动一个目录
条款16如何更改目录的名称
条款17如何复制文件
条款18如何更改文件的名称
条款19如何删除文件
条款20如何使一个文件成为只读的或是可读取及写入的
条款21如何从文本文件读取数据
条款22使用很方便的ReadAllText与ReadAllLines方法来读取文本文件
条款23如何解析文本文件
条款24如何解析含有多种格式的文本文件
条款25如何将文本数据写入文本文件
条款26使用很方便的AppendAllText与My.Computer.FileSystemWriteAllText方法来写入文本文件
条款27如何建立一个文本文件
条款28使用便利的WriteAllText与WriteAllLines方法来建立一个文本文件
条款29如何读取一个二进制文件
条款30使用很方便的ReadAllBytes方法来读取二进制文件
条款31如何将数据写入一个二进制文件
条款32使用很方便的WriteAllBytes方法来写入一个二进制文件
条款33如何比较两个文件的内容是否完全相同
条款34如何使用FileSystemWatcher组件来监视文件系统事件
条款35如何建立与使用临时文件
第2章探讨IO的进阶议题
条款36如何压缩与解压缩文件
条款37模拟建立一个简易版的压缩软件
条款38帐户专用的文件加密与解密
条款39如何变更文件与目录的访问控制列表(ACL)
条款40如何访问串行端口
第3章探讨Windows Forms数据绑定
条款41什么是数据绑定
条款42在列表上使用简单的数据绑定
条款43类型转换
条款44格式化
条款45错误处理
条款46同步化注意事项
条款47数据变更的反应时机
条款48属性变更通知
条款49列表变更通知
条款50当使用数据绑定时为何无法移出控件与关闭窗体
条款51为什么DataSourceUpdateMode.OnPropertyChanged对ADO.NET数据源没有作用
条款52如何使用简单绑定来显示多个数据源属性
条款53探索ComboBox与ListBox控件的数据绑定
条款54如何将一个Null或DBNull项目新增至所绑定的ComboBox控件
条款55如何让ComboBox控件显示出多个数据源属性
条款56为什么我的ComboBox控件在数据绑定时加载速度很慢
条款57如何清除已绑定的ListBox、ComboBox或CheckedListBox控件的项目
条款58探索BindingSource组件
条款59探索BindingNavigator控件
条款60如何实现IBindableComponent界面
第4章如何连接数据源
条款61如何构建连接字符串
条款62如何根据用户输入动态建立正确的连接字符串
条款63如何连接至Access数据库
条款64如何连接至Excel工作簿
条款65如何使用文件名称路径来连接SQL Server数据库
条款66如何将SQL Server数据库文件附加至SQL Server实例
第5章探讨数据集模型的数据存取技巧
条款67我该使用哪一种数据存取模型
条款68了解DataSet对象
条款69数据集的实现流程
条款70如何建立数据集
条款71如何建立一个独立存在的数据表对象
条款72善用SqlTypes
条款73如何为数据表建立自动编号字段
条款74如何为数据表建立表达式字段
条款75如何定义数据表的主码
条款76如何套用UniqueConstraint约束
条款77使用XML架构定义数据表的架构
条款78如何新增数据行
条款79如何编辑数据行
条款80如何删除数据行
条款81探讨数据行的状态与版本
条款82完善的数据异动操作
条款83如何将后端数据加载到一个已存的数据表对象中
条款84如何将XML数据加载到一个既存的数据表对象中
条款85如何于数据集当中建立数据表
条款86自行建立DataTable对象并新增至数据集
条款87通过数据适配器在数据集当中建立数据表
条款88使用DataSet的Load方法在数据集当中建立数据表
条款89关于SQL Server的decimal类型
条款90使用DataTableReader快速列举数据表的内容
条款91将现有的约束加入DataSet中
条款92数据表与字段的前后端对应关系
条款93建立数据表之间的关系
条款94建立外码约束
条款95如何使用外码约束
条款96取得与设置数据适配器命令的参数
条款97善用数据适配器全新的批处理更新功能
第6章探讨数据命令模型的数据存取技巧
条款98如何枚举SQL Server实例
条款99如何枚举SQL Server的数据库、数据表与视图表
条款100如何使用数据命令执行Transact.SQL语句
条款101如何使用数据命令来执行存储过程
条款102如何执行会返回单一值的数据命令
条款103如何执行会返回结果集的数据命令
条款104如何执行会返回多结果集的数据命令
条款105使用数据命令执行数据库操作与修改数据
条款106如何取得与设置数据命令的Transact.SQL语句的参数
条款107如何取得与设置数据命令的存储过程的参数和返回值
第7章探讨大型对象的存取技巧
条款108 什么是大型对象
条款109以数据流形式来读取数据库中的LOB
条款110以一整行加载方式读取数据库中的LOB
条款111如何将LOB写入数据库
条款112如何将字段内的二进制图像数据显示在PictureBox控件中
条款113如何将PictureBox控件中的二进制图像数据写回字段
条款114结合使用SQL Server 2005的UPDATE.WRITE语句
第8章如何使用多活动结果集
条款115什么是多活动结果集
条款116如何启用与禁用多活动结果集
第9章如何执行异步的数据存取操作
条款117什么是异步的数据存取操作
条款118使用轮询来实现异步数据存取
条款119使用回调来实现异步数据存取——最佳做法
条款120使用WaitHandle实现异步数据存取
第10章如何使用SqlBulkCopy对象执行大量复制操作
条款121关于大量复制操作
条款122如何执行单次的大量复制操作
条款123如何执行多次大量复制操作
条款124如何在事务中执行大量复制操作
第11章如何存取SQL Server 2005的xml数据类型数据
条款125如何提取数据读取器中的xml数据类型字段值
条款126以XML作为数据命令的参数
第12章探讨DataSet与XML的数据访问技巧
条款127前言
条款128从DiffGram谈起
条款129将XML的内容载入DataSet中
条款130合并来自XML的数据
条款131将DataSet的内容写成XML数据
条款132嵌套DataRelation
条款133将字段对应至XML元素、属性与文字
条款134将DataSet的内容写成XML时如何格式化字段数据
条款135将XML的架构加载至DataSet
条款136将DataSet架构信息写成XML架构
条款137使用XmlDataDocument来同步DataSet
条款138根据XML架构产生DataSet关系型结构
条款139将XML架构约束对应至DataSet约束
条款140根据XML架构产生DataSet关系
条款141了解约束和关联性间的交互关系
条款142根据XML推断DataSet关系型结构
第13章探讨DataGridView控件的重要开发技巧
条款143如何自选数据列类型
条款144综述DataGridView控件
条款145如何使用数据列的上下文菜单
条款146如何使用DateTimePicker控件编辑单元格的日期数据
条款147如何使一个单元格不能被编辑
条款148如何禁用一个单元格
条款149如何防止用户移入一个单元格
条款150如何让单元格中的文本随着宽度换行
条款151如何隐藏一个数据列
条款152当用户尝试删除数据行时如何显示确认对话框
条款153如何建立主从式窗体
条款154如何在 DataGridView 控件中以跨数据列方式显示数据
条款155如何将 DataGridView 控件单独选取成一个位图文件
第14章探讨综合性的开发议题
条款156如何自动根据文件的扩展名或类型来启动相关联的应用程序并加载文件
条款157如何关闭其他应用程序或其他应用程序的特定实例
条款158如何得知所启动的进程已经结束执行
条款159如何等待所启动的进程执行完毕
条款160如何传送按键给其他应用程序
条款161如何以程控方式启动默认的浏览器
条款162如何使用全新的System.Net.Mail.MailMessage类编写邮件传送程序
条款163如何产生与比较哈希值
条款164如何加密与解密文本文件
条款165善用全新的BackgroundWorker组件设计异步界面
附录A范例安装与使用说明
序言:
译者序:
综览人类文明的演进,大抵都建立在“今日会比昨日好、明日要比今日强”的基础上。身处于信息技术的洪流之中,每天像陀螺一样旋转,不停地追逐新技术,那种漫步在云端的不扎实感,我想是每一位IT人的苦与痛。记得我之前在台北与北京做主题为“程序人生”的演讲时,孟岩帮我写了一段宣传词,内容是这样的:“卡布奇诺有泡沫也有咖啡,如何把握住技术的本质,走稳技术人生路?也许善品咖啡的章立民先生,能对您有所启发。”
一直以来,我从不吝啬与他人分享自己的技术心得和人生经验,最近似乎又有点冲动,想找机会谈谈程序人生之类的主题。毕竟技术性的研讨会随时随处都有,但是却少有从心灵与人生规划层面来探讨的主题。其实,我也没啥成就,不过毕竟在这一行单打独斗17年,也算是小有心得啦。尤其在历经这些年来的人生沉浮之后,似乎更能看清许多人与事的本质。低潮期让我未来的处事态度多了理性、少了感性、更加务实,而当回复到上升的轨道时,我则是更加的谨慎与低调。
我热爱技术,但是我更务实,所以我常说,不要跟技术谈恋爱。技术本身是单纯的,面对技术的态度以及如何去应用技术,才是成败的关键。如果要在这个产业长久发展,你必须让自己与众不同,而不同之处不仅仅是技术。若只是一味盲目乱冲,而不适时地让自己缓下来思考,很容易被洪流吞噬。或许该找一天,左手拿着拿咖啡,右手握着麦克风,与大家谈谈面对技术洪流的生存之道,也让您思考技术的本质以及学习的方法。我们下次再见。
章立民
立民讲堂http://liminzhang.cnblogs.com/
笔于台北中和
2006年11月3日
条款1综述
条款2路径指定方式
条款3使用DriveInfo类取得计算机的磁盘信息
条款4使用My.Computer.FileSystem对象取得计算机的磁盘信息
条款5如何列举目录
条款6使用My.Computer.FileSystem对象来取得目录信息
条款7.NET Framework 2.0对GetDirectories方法的强化
条款8善用My.Computer.SpecialDirectories对象
条款9善用Environment.GetFolderPath方法
条款10如何取得文件的相关信息
条款11使用My.Computer.FileSystem对象来取得文件信息
条款12.NET Framework 2.0对GetFiles方法的强化
条款13如何建立目录
条款14如何移除一个目录
条款15如何移动一个目录
条款16如何更改目录的名称
条款17如何复制文件
条款18如何更改文件的名称
条款19如何删除文件
条款20如何使一个文件成为只读的或是可读取及写入的
条款21如何从文本文件读取数据
条款22使用很方便的ReadAllText与ReadAllLines方法来读取文本文件
条款23如何解析文本文件
条款24如何解析含有多种格式的文本文件
条款25如何将文本数据写入文本文件
条款26使用很方便的AppendAllText与My.Computer.FileSystemWriteAllText方法来写入文本文件
条款27如何建立一个文本文件
条款28使用便利的WriteAllText与WriteAllLines方法来建立一个文本文件
条款29如何读取一个二进制文件
条款30使用很方便的ReadAllBytes方法来读取二进制文件
条款31如何将数据写入一个二进制文件
条款32使用很方便的WriteAllBytes方法来写入一个二进制文件
条款33如何比较两个文件的内容是否完全相同
条款34如何使用FileSystemWatcher组件来监视文件系统事件
条款35如何建立与使用临时文件
第2章探讨IO的进阶议题
条款36如何压缩与解压缩文件
条款37模拟建立一个简易版的压缩软件
条款38帐户专用的文件加密与解密
条款39如何变更文件与目录的访问控制列表(ACL)
条款40如何访问串行端口
第3章探讨Windows Forms数据绑定
条款41什么是数据绑定
条款42在列表上使用简单的数据绑定
条款43类型转换
条款44格式化
条款45错误处理
条款46同步化注意事项
条款47数据变更的反应时机
条款48属性变更通知
条款49列表变更通知
条款50当使用数据绑定时为何无法移出控件与关闭窗体
条款51为什么DataSourceUpdateMode.OnPropertyChanged对ADO.NET数据源没有作用
条款52如何使用简单绑定来显示多个数据源属性
条款53探索ComboBox与ListBox控件的数据绑定
条款54如何将一个Null或DBNull项目新增至所绑定的ComboBox控件
条款55如何让ComboBox控件显示出多个数据源属性
条款56为什么我的ComboBox控件在数据绑定时加载速度很慢
条款57如何清除已绑定的ListBox、ComboBox或CheckedListBox控件的项目
条款58探索BindingSource组件
条款59探索BindingNavigator控件
条款60如何实现IBindableComponent界面
第4章如何连接数据源
条款61如何构建连接字符串
条款62如何根据用户输入动态建立正确的连接字符串
条款63如何连接至Access数据库
条款64如何连接至Excel工作簿
条款65如何使用文件名称路径来连接SQL Server数据库
条款66如何将SQL Server数据库文件附加至SQL Server实例
第5章探讨数据集模型的数据存取技巧
条款67我该使用哪一种数据存取模型
条款68了解DataSet对象
条款69数据集的实现流程
条款70如何建立数据集
条款71如何建立一个独立存在的数据表对象
条款72善用SqlTypes
条款73如何为数据表建立自动编号字段
条款74如何为数据表建立表达式字段
条款75如何定义数据表的主码
条款76如何套用UniqueConstraint约束
条款77使用XML架构定义数据表的架构
条款78如何新增数据行
条款79如何编辑数据行
条款80如何删除数据行
条款81探讨数据行的状态与版本
条款82完善的数据异动操作
条款83如何将后端数据加载到一个已存的数据表对象中
条款84如何将XML数据加载到一个既存的数据表对象中
条款85如何于数据集当中建立数据表
条款86自行建立DataTable对象并新增至数据集
条款87通过数据适配器在数据集当中建立数据表
条款88使用DataSet的Load方法在数据集当中建立数据表
条款89关于SQL Server的decimal类型
条款90使用DataTableReader快速列举数据表的内容
条款91将现有的约束加入DataSet中
条款92数据表与字段的前后端对应关系
条款93建立数据表之间的关系
条款94建立外码约束
条款95如何使用外码约束
条款96取得与设置数据适配器命令的参数
条款97善用数据适配器全新的批处理更新功能
第6章探讨数据命令模型的数据存取技巧
条款98如何枚举SQL Server实例
条款99如何枚举SQL Server的数据库、数据表与视图表
条款100如何使用数据命令执行Transact.SQL语句
条款101如何使用数据命令来执行存储过程
条款102如何执行会返回单一值的数据命令
条款103如何执行会返回结果集的数据命令
条款104如何执行会返回多结果集的数据命令
条款105使用数据命令执行数据库操作与修改数据
条款106如何取得与设置数据命令的Transact.SQL语句的参数
条款107如何取得与设置数据命令的存储过程的参数和返回值
第7章探讨大型对象的存取技巧
条款108 什么是大型对象
条款109以数据流形式来读取数据库中的LOB
条款110以一整行加载方式读取数据库中的LOB
条款111如何将LOB写入数据库
条款112如何将字段内的二进制图像数据显示在PictureBox控件中
条款113如何将PictureBox控件中的二进制图像数据写回字段
条款114结合使用SQL Server 2005的UPDATE.WRITE语句
第8章如何使用多活动结果集
条款115什么是多活动结果集
条款116如何启用与禁用多活动结果集
第9章如何执行异步的数据存取操作
条款117什么是异步的数据存取操作
条款118使用轮询来实现异步数据存取
条款119使用回调来实现异步数据存取——最佳做法
条款120使用WaitHandle实现异步数据存取
第10章如何使用SqlBulkCopy对象执行大量复制操作
条款121关于大量复制操作
条款122如何执行单次的大量复制操作
条款123如何执行多次大量复制操作
条款124如何在事务中执行大量复制操作
第11章如何存取SQL Server 2005的xml数据类型数据
条款125如何提取数据读取器中的xml数据类型字段值
条款126以XML作为数据命令的参数
第12章探讨DataSet与XML的数据访问技巧
条款127前言
条款128从DiffGram谈起
条款129将XML的内容载入DataSet中
条款130合并来自XML的数据
条款131将DataSet的内容写成XML数据
条款132嵌套DataRelation
条款133将字段对应至XML元素、属性与文字
条款134将DataSet的内容写成XML时如何格式化字段数据
条款135将XML的架构加载至DataSet
条款136将DataSet架构信息写成XML架构
条款137使用XmlDataDocument来同步DataSet
条款138根据XML架构产生DataSet关系型结构
条款139将XML架构约束对应至DataSet约束
条款140根据XML架构产生DataSet关系
条款141了解约束和关联性间的交互关系
条款142根据XML推断DataSet关系型结构
第13章探讨DataGridView控件的重要开发技巧
条款143如何自选数据列类型
条款144综述DataGridView控件
条款145如何使用数据列的上下文菜单
条款146如何使用DateTimePicker控件编辑单元格的日期数据
条款147如何使一个单元格不能被编辑
条款148如何禁用一个单元格
条款149如何防止用户移入一个单元格
条款150如何让单元格中的文本随着宽度换行
条款151如何隐藏一个数据列
条款152当用户尝试删除数据行时如何显示确认对话框
条款153如何建立主从式窗体
条款154如何在 DataGridView 控件中以跨数据列方式显示数据
条款155如何将 DataGridView 控件单独选取成一个位图文件
第14章探讨综合性的开发议题
条款156如何自动根据文件的扩展名或类型来启动相关联的应用程序并加载文件
条款157如何关闭其他应用程序或其他应用程序的特定实例
条款158如何得知所启动的进程已经结束执行
条款159如何等待所启动的进程执行完毕
条款160如何传送按键给其他应用程序
条款161如何以程控方式启动默认的浏览器
条款162如何使用全新的System.Net.Mail.MailMessage类编写邮件传送程序
条款163如何产生与比较哈希值
条款164如何加密与解密文本文件
条款165善用全新的BackgroundWorker组件设计异步界面
附录A范例安装与使用说明
序言:
译者序:
综览人类文明的演进,大抵都建立在“今日会比昨日好、明日要比今日强”的基础上。身处于信息技术的洪流之中,每天像陀螺一样旋转,不停地追逐新技术,那种漫步在云端的不扎实感,我想是每一位IT人的苦与痛。记得我之前在台北与北京做主题为“程序人生”的演讲时,孟岩帮我写了一段宣传词,内容是这样的:“卡布奇诺有泡沫也有咖啡,如何把握住技术的本质,走稳技术人生路?也许善品咖啡的章立民先生,能对您有所启发。”
一直以来,我从不吝啬与他人分享自己的技术心得和人生经验,最近似乎又有点冲动,想找机会谈谈程序人生之类的主题。毕竟技术性的研讨会随时随处都有,但是却少有从心灵与人生规划层面来探讨的主题。其实,我也没啥成就,不过毕竟在这一行单打独斗17年,也算是小有心得啦。尤其在历经这些年来的人生沉浮之后,似乎更能看清许多人与事的本质。低潮期让我未来的处事态度多了理性、少了感性、更加务实,而当回复到上升的轨道时,我则是更加的谨慎与低调。
我热爱技术,但是我更务实,所以我常说,不要跟技术谈恋爱。技术本身是单纯的,面对技术的态度以及如何去应用技术,才是成败的关键。如果要在这个产业长久发展,你必须让自己与众不同,而不同之处不仅仅是技术。若只是一味盲目乱冲,而不适时地让自己缓下来思考,很容易被洪流吞噬。或许该找一天,左手拿着拿咖啡,右手握着麦克风,与大家谈谈面对技术洪流的生存之道,也让您思考技术的本质以及学习的方法。我们下次再见。
章立民
立民讲堂http://liminzhang.cnblogs.com/
笔于台北中和
2006年11月3日
猜您喜欢