《C#开发经验技巧宝典》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115166897
  • 页数:703 页
图书介绍:本书介绍了C#开发经验技巧1149个,覆盖了程序开发中的各种实际需求。全书共分27章,分别是开发环境、语言基础、程序算法、数据处理、资料验证技术、日期与时间、Windows窗体控件、Web页面设计、HTML客户端控件与服务器控件、内置对象、图形图像技术、动画与多媒体、鼠标与键盘、文件、文件管理及数据流、Windows开发技术、程序应用控制、SQL查询相关技术、数据库技术、打印与报表技术、C#高级应用开发、硬件及相关开发技术、网络开发相关技术、注册表应用、安全技术、程序调试与错误处理。本书附有配套光盘。光盘提供了书中所有实例的全部源代码,全部源代码都经过精心调试,保证能够正常运行。

第一章 开发环境 1

1.1 Visual Studio开发环境安装与配置 2

0001 安装Visual Studio 2005开发环境须知 2

0002 配置合适的Visual Studio 2005开发环境 2

0003 设置程序代码行序号 3

0004 开发环境全屏显示 3

0005 设置窗口的自动隐藏功能 3

0006 根据需要创建所需解决方案 4

0007 如何使用“验证的目标架构”功能 4

1.2 Visual Studio开发环境的使用 4

0008 为程序设置版本和帮助信息 4

0009 设置Windows应用程序启动窗体 5

0010 设置Web应用程序起始页 5

0011 如何设置程序的出错窗口 5

0012 如何进行程序调试 6

0013 如何结束不能正常运行的程序 6

0014 如何锁定窗体中的控件 6

0015 统一窗体中控件的字体设置 7

0016 通过“格式”菜单布局窗体 7

0017 起始页中的“Visual Studio开发人员新闻” 7

1.3 MSDN帮助的使用 8

0018 有效利用Visual Studio 2005附带程序 8

0019 有效使用MSDN帮助 9

0020 如何设置MSDN帮助 9

1.4 其他 10

0021 如何添加项目引用 10

0022 如何添加Web引用 10

0023 如何添加引用第3方控件 11

0024 如何生成DLL文件 11

0025 如何使用不安全代码 11

第2章 语言基础 13

2.1 注释 14

0026 如何对代码进行注释 14

0027 #region、#endregion关键字的使用技巧 14

0028 “///”符号的使用技巧 14

0029 使用注释取消程序语句的执行 15

2.2 语句 15

0030 跳转语句GOTO的使用 15

0031 Continue语句的使用 16

0032 Break语句的使用 16

0033 Return语句的使用 17

0034 如何实现无限循环 17

0035 巧用foreach语句控制控件 18

0036 有效使用switch case语句 18

2.3 运算符 19

0037 如何使用引号赋值 19

0038 巧用“^=”运算符 19

0039 巧用位移运算符 20

0040 使用条件运算符 20

0041 巧用分隔符 20

0042 如何处理转义字符 21

0043 “;”结束符问题 21

0044 如何使用“??”操作符 22

2.4 表达式与关键词 22

0045 正确使用“&&”和“‖” 22

0046 如何处理程序“溢出”错误 23

0047 有效使用base关键字 23

0048 typeof表达式的使用 23

0049 params关键字可以指定多参数 24

0050 using关键字的用法 24

0051 变量的作用域 25

2.5 其他 26

0052 有效使用this对象 26

0053 如何声明变量 26

0054 如何声明相同类型的多个变量 26

0055 利用Object变量传递参数 27

0056 强行改变运算符的运算顺序 27

第3章 程序算法 29

3.1 数据结构 30

0057 如何实现单向链表 30

0058 如何实现双向链表 35

0059 如何实现堆栈 41

0060 队列的实现 43

0061 树的实现 44

3.2 排序 48

0062 如何实现选择排序算法 48

0063 如何实现冒泡排序算法 49

0064 如何实现快速排序算法 50

0065 如何实现插入排序算法 50

0066 如何实现希尔排序算法 51

3.3 常见算法的实际应用 52

0067 计算1+22+33+44+......+nn的值 52

0068 计算10!的值 52

0069 求最大公约数 52

0070 求最小公倍数 53

0071 判断素数的算法 53

0072 如何判断一个数是否是完数 54

0073 歌德巴赫猜想的算法 54

0074 八皇后问题 54

0075 用回溯法找出n个自然数中取r个数的全排列 55

0076 约瑟夫环问题 56

0077 猴子选大王 57

0078 如何判断IP是否正确 57

0079 如何将小写金额转换为大写金额 57

0080 统计文本字数 58

0081 文本中首字母改为大写 59

0082 C#随机数的产生 59

0083 身份证从15位升至18位算法 60

0084 十进制数转二进制数的算法 60

0085 十进制数转八进制数的算法 61

0086 十进制数转十六进制数的算法 62

0087 二、八、十六进制数转十进制数的算法 63

3.4 密码算法 65

0088 使用MD5算法对密码进行加密 65

0089 “凯撒”密码的算法 65

第4章 字符及字符串处理技术 67

4.1 字符及字符串转换 68

0090 如何获得字母的ASCII码 68

0091 如何根据ASCII码获得字母 68

0092 编程中经常使用的ASCII码 68

0093 获得汉字的区位码 69

0094 如何根据区位码获得汉字 69

0095 如何将行字符串转换为列字符串 70

0096 如何将数字转换为字符串 70

0097 如何将字符串转换为数字 70

0098 如何将数字转换为日期格式 71

0099 如何将数字转换为货币格式 71

0100 将字母全部转换大写 71

0101 将字母全部转换小写 72

0102 将字符串首字母转换大写 72

0103 如何进行字节数组和字符串的相互转换 72

0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73

4.2 获取字符串信息 73

0105 如何获得一个字符串的长度 73

0106 如何获得一个字符串中数字的长度 74

0107 如何获得字符串中数字或字母的长度 74

0108 如何获得字符串中某个数字的位置 75

0109 获得字符串中汉字的个数 76

0110 获得字符串中指定后几位字符 76

0111 计算字符串中子字符串出现的次数 76

0112 获得字符串中大写字母的个数 77

0113 获得某字符在字符串中最后出现的位置 78

0114 如何找出字符串中某一字符的所有位置 78

4.3 常用字符及字符串处理技术 79

0115 如何判断是否为数字 79

0116 如何在字符串中查找指定字符 79

0117 如何在字符串中用一子串替换另一子串 80

0118 将新字符串添加到已有字符串中 80

0119 如何在字符串中添加多个空格 81

0120 如何根据标点符号分行 81

0121 如何将字符串颠倒输出 82

0122 如何设置小数的保留位数 82

0123 如何对字符串进行组合或分解 82

0124 判断字符串中某一字符是否大写 83

0125 按要求生成指定位数编号 83

0126 确定两字符串是否相等 84

0127 判断两字符串中指定子串是否相等 84

0128 判断字符串是否为日期格式 85

0129 清除字符串中指定的字符 85

0130 复制字符串中指定的字符 85

0131 巧截字符串的数字 86

0132 如何存储变长字符串 86

0133 在进行字符串比较时忽略大小写 87

0134 如何去除字符串尾空格 87

0135 如何去掉字符串中所有空格 88

0136 如何进行文本加密与解密 88

0137 如何区别0、空字符串、Null、Empty和Nothing 89

0138 从字符串中分离文件路径、文件名及扩展名 89

0139 如何批量替换某一类字符串 89

第5章 数据处理 91

5.1 数字处理技巧 92

0140 如何对计算结果四舍五放入 92

0141 如何将商品金额小写转换成大写 92

0142 如何根据生日自动计算员工年龄 93

0143 如何设置货币值中使用的小数位数 93

0144 如何自定义货币值中的小数点 94

0145 如何自定义货币值中小数点左边数字分组字符 94

0146 如何自定义货币值中小数点左边每一组的位数 95

0147 如何自定义百分比值中小数的位数 95

0148 如何自定义百分比小数点 96

0149 如何自定义百分比小数点左边数字分组字符 96

0150 如何自定义百分比小数点左边每一组的位数 97

0151 如何自定义百分比符号 97

0152 如何自定义数字小数点右边的保留位数 98

0153 如何自定义数字小数点左边分组位数 98

0154 格式化输入数据为货币格式 99

0155 如何计算两个整数的乘积 99

0156 如何将二进制数转换为十进制数 100

0157 如何将二进制数转换为八进制数 100

0158 如何将二进制数转换为十六进制数 100

0159 如何实现0~9之间随机整数 101

0160 如何实现0~1之间随机数 101

0161 如何返回数字的绝对值 101

5.2 控件数据处理技巧 102

0162 如何实现C#中用〈Enter〉键完成TAB的功能 102

0163 如何限制文本框密码输入长度 102

0164 数据输入为空提示 103

0165 如何设置文本框光标到末尾 103

0166 输入法调整技巧 103

0167 锁定文本框内的文本 103

0168 使用Message.Show输出用户信息 104

5.3 图片数据处理技巧 104

0169 如何将图片存入数据库 104

0170 如何将图片从数据库中读取出来 104

0171 如何只允许输入指定图片格式 105

0172 如何设置录入图片统一图片大小 105

5.4 数组处理技巧 105

0173 如何转换数组类型 105

0174 如何复制数组中一系列元素的元素 106

0175 如何检索指定条件数组中的元素 107

0176 如何动态改变数组长度 108

0177 如何反转数组中元素的顺序 108

0178 如何排序数组中的元素的顺序 109

0179 如何创建动态数组 110

5.5 NET应用技巧 110

0180 如何使用ASP.NET技术对口令加密 110

0181 如何设定ASP.NET全局变量 111

0182 如何设定全局联接数据库对象 111

0183 如何在ASP.NET中获得客户端IP地址 111

0184 如何在ASP.NET中获取文件的扩展名 111

0185 如何在ASP.NET中用URL在页面之间传值 112

0186 如何使用IsPostBack实现ASP.NET页面加载 112

0187 如何利用输出缓存技术缓存ASP.NET页面 112

0188 如何在ASP.NET中显示当前IE浏览器头信息 113

5.6 其他应用技巧 114

0189 如何判断年份是否为闰年 114

0190 如何根据年份判断十二生肖 114

0191 如何根据IP地址获取本机域名 115

0192 如何获取“我的文档”系统文件夹路径 115

0193 如何获取应用程序当前执行的路径 116

0194 如何获取当前操作系统的信息 116

0195 如何实现基本数据类型随意转换 116

0196 如何生成全局唯一标识符(GUID) 118

第6章 资料验证技术 119

6.1 网络验证应用技巧 120

0197 如何使用正则表达式验证E-mail格式 120

0198 如何使用正则表达式验证IP地址 120

0199 如何使用正则表达式验证URL 120

6.2 常用数字验证技巧 121

0200 如何使用正则表达式验证电话号码 121

0201 如何使用正则表达式验证输入密码条件 121

0202 如何使用正则表达式验证邮政编号 121

0203 如何使用正则表达式验证手机号 122

0204 如何使用正则表达式验证身份证号 122

0205 如何使用正则表达式验证两位小数 122

0206 如何使用正则表达式验证一年的12个月份 123

0207 如何使用正则表达式验证一个月的31天 123

0208 如何使用正则表达式验证数字输入 123

0209 如何使用正则表达式验证密码长度 124

0210 如何使用正则表达式验证非零的正整数 124

0211 如何使用正则表达式验证非零的负整数 124

6.3 常用字符验证技巧 125

0212 如何使用正则表达式验证大写字母 125

0213 如何使用正则表达式验证小写字母 125

0214 使用正则表达式检查字符串中重复出现的词 125

0215 如何使用正则表达式替换字符串 126

0216 如何使用正则表达式拆分字符串 127

0217 如何使用正则表达式验证输入字母 127

0218 如何使用正则表达式验证中文汉字输入 128

0219 如何使用正则表达式验证输入字符串 128

第7章 日期和时间 129

7.1 日期与时间的获取 130

0220 获得系统当前日期 130

0221 获得系统当前时间 130

0222 同时获得系统当前日期和时间 130

0223 如何获取当前日期是星期几 130

0224 如何获取当前年的天数 131

0225 如何获取当前月的天数 131

0226 如何取得当前日期的前一天 132

0227 使用TimeSpan对象获取时间间隔 133

7.2 日期的格式化及其时间的比较 133

0228 将日期格式化为指定格式 133

0229 如何将短日期格式化为长日期格式 134

0230 如何将数字日期转化为中文格式 134

0231 如何对系统时间和数字进行比较 135

0232 如何比较时间 135

0233 获取两个日期之间的时间差并进行比较 136

7.3 日期方法与函数的应用 136

0234 使用DateDiff方法获取日期时间的间隔数 136

0235 在SQL语句中使用DATEADD函数向指定日期添加一段时间间隔 137

0236 在SQL语句中使用DATEDIFF函数获得两个日期的间隔 137

0237 如何使用Sleep方法延迟时间 137

0238 如何确定程序的运行时间 138

0239 如何使用ParseExact方法将字符串转化为日期格式 138

0240 如何使用ToString方法格式化日期 139

0241 如何使用Convert方法转换日期显示格式 139

7.4 系统时间与日期的设置 140

0242 如何设置系统的日期 140

0243 如何设置系统的时间 140

0244 如何设置系统的日期和时间 141

7.5 日期与时间的应用 142

0245 如何将数据控件中的日期以编程的方式转化为指定格式 142

0246 将格式化日期的方法绑定到数据控件中 142

0247 直接格式化绑定到数据控件GridView中的日期列 143

0248 在数据控件GridView的RowDataBound事件中对绑定到GridView控件的日期列进行格式化 143

0249 如何实现倒计时功能 143

0250 如何创建一个数字时钟 144

第8章 Windows窗体设计 145

8.1 Windows窗体基本操作 146

0251 控制窗体加载时所在的位置 146

0252 控制窗体最大化、最小化 146

0253 清空窗体中的图片 146

0254 如何使程序窗体总在最前 147

0255 如何将菜单置于窗体的左侧 147

0256 将其他窗体作为当前窗体的子窗体 147

0257 如何根据控件大小自动显示滚动条 148

0258 如何显示About窗体 148

0259 利用Show方法显示被调用窗体 149

0260 Load事件将窗体加载到内存 149

0261 窗体的卸载与隐藏 149

0262 设置窗体的状态 149

0263 如何设置窗体在桌面上的位置 150

0264 如何在关闭窗体前显示确认对话框 150

0265 如何去掉窗体的标题栏 151

0266 如何禁止在任务栏中显示窗体标题 152

0267 如何禁止缩放窗体的边框 152

0268 如何设置窗体标题栏文字右对齐 152

0269 如何显示窗体的属性信息 153

0270 如何隐藏窗体标题栏的按钮 153

8.2 Windows窗体高级操作 153

0271 设置闪烁的标题栏 153

0272 如何在托盘中写入应用程序图标 154

0273 如何以全屏方式显示程序窗体 154

0274 如何从上次关闭位置启动窗体 154

0275 如何通过拖动工作区来移动窗体 155

0276 如何渐变显示窗体背景颜色 155

0277 如何排列MDI窗体中的子窗体 156

0278 如何拖动无标题栏窗体 157

8.3 特殊类型的窗体 158

0279 创建一个无ICON的窗体 158

0280 如何制作飘动的窗体 158

0281 使用拆分窗口 159

0282 用C#实现启动欢迎界面 159

0283 如何实现半透明渐显窗体 160

0284 基于ListView的导航界面 160

0285 类似OutLook的导航界面 162

0286 图形化的导航界面 162

0287 如何实现类似QQ的程序界面 162

0288 如何实现类似Windows XP的程序界面 164

0289 制作字形窗体 164

0290 制作图形窗体 164

0291 随机更换背景的窗体 165

8.4 菜单、工具栏和状态栏的设计 166

0292 带图标的菜单 166

0293 带历史信息的菜单 166

0294 可以拉伸的菜单 167

0295 带背景的工具栏 168

0296 浮动工具栏 168

0297 带下拉菜单的工具栏 169

0298 在状态栏中显示复选框 169

0299 带进度条的状态栏 169

0300 带图标的状态栏 170

8.5 其他 170

0301 界面设计要素 170

0302 界面设计在程序开发中的重要性 171

0303 如何设置窗体的〈Esc〉键响应按钮 172

0304 如何设置窗体的〈Enter〉键响应按钮 172

0305 窗体间数据的访问 172

第9章 Windows窗体控件 175

9.1 TextBox控件应用技巧 176

0306 文本框中只能输入数字 176

0307 如何设置TextBox控件输入多行文本 176

0308 如何锁定文本框 176

0309 如何控制TextBox控件中的插入点 176

0310 如何创建密码文本框 177

0311 如何创建只读文本框 177

0312 如何在文本框字符串中放置引号 177

0313 如何在TextBox控件中查看多个行 177

0314 如何TextBox控件中显示回车符 178

9.2 RichTextBox控件应用技巧 178

0315 删除RichTextBox控件中的部分文字 178

0316 RichTextBox与TextBox控件有何不同 179

0317 如何使用RichTextBox控件显示文件 179

0318 如何使用RichTextBox控件保存文件 180

0319 如何在RichTextBox控件中查找字符 181

0320 如何在RichTextBox控件插入图片 181

0321 如何为RichTextBox控件添加快捷菜单 182

0322 在RichTextBox控件中替换文本文字 183

9.3 Button控件应用技巧 183

0323 C#中轻松打造绚丽按钮 183

0324 如何使Button控件大小自动适应文本长度 184

0325 如何设置窗体一个默认单击按钮 184

0326 如何设置窗体一个默认取消按钮 184

0327 如何给按钮控件创建快捷键 185

0328 如何触发Button按钮的Click事件 185

0329 使用控件的Tag属性传递信息 185

0330 如何在Windows窗体上停靠控件 186

0331 如何动态创建Button控件 186

9.4 DataGridView控件应用技巧 187

0332 如何对DataGridView控件进行数据绑定 187

0333 如何在DataGridView控件中设置数据的格式 187

0334 如何在DataGridView控件基于文本的单元格中启用换行 187

0335 如何设置DataGridView控件单元格的文本对齐方式 187

0336 如何在DataGridView控件中验证数据输入 188

0337 DataGridView控件中输入数据时发生的错误 188

0338 如何设置DataGridView控件中网格线的样式 189

0339 如何设置DataGridView控件中的边框样式 189

0340 如何设置DataGridView控件中字体样式 190

0341 如何设置DataGridView控件中颜色样式 190

0342 获取DataGridView控件中单元格、行和列坐标 190

0343 如何获取DataGridView控件中的当前单元格 191

0344 如何禁止DataGridView控件中添加和删除行 191

0345 DataGridView控件选中单元格时整个行背景变色 191

0346 如何复制DataGridView控件单元格中的数据 191

0347 如何在DataGridView控件实现下拉列表 192

9.5 对话框控件应用技巧 192

0348 如何利用FontDialog控件设置字体 192

0349 如何利用ColorDialog控件设置字颜色 193

0350 如何利用OpenFileDialog控件打开文件 193

0351 如何获得弹出对话框的相关返回值 194

0352 使用FolderBrowserDialog控件选择文件夹 195

9.6 ListBox控件应用技巧 195

0353 如何快速选中ListBox控件中全部条目 195

0354 如何排序ListBox控件中的数据 196

0355 如何实现ListBox控件的多项选择功能 196

0356 如何在ListBox控件中查找指定的项 196

0357 实现ListBox控件与ListBox控件交换数据 197

9.7 ListView控件应用技巧 198

0358 如何实现ListView控件实现动态加载数据 198

0359 如何向ListView控件添加搜索功能 199

0360 如何将数据中的表内容填充到ListView控件中 200

0361 如何使ListView控件拥有编辑功能 201

0362 如何实现ListView控件显示图标与列表 201

0363 如何获取ListView控件中的选择结果 202

0364 如何将图片加载ListView控件 202

9.8 TreeView控件应用技巧 203

0365 如何在TreeView控件结点中显示图片 203

0366 如何在TreeView控件中用鼠标右键选中节点 203

0367 区分TreeView控件选中各节点方式 204

0368 如何实现TreeView控件节点拖放操作 204

0369 如何实现带复选框的TtreeView控件 205

0370 如何实现TreeView控件遍历磁盘目录 206

0371 如何将数据库字段填充到TreeView控件 206

9.9 ComboBox控件应用技巧 207

0372 如何使ComboBox下拉列表显示图片 207

0373 ComboBox只能从下拉列表框中选择数据 208

0374 如何实现带查询功能的ComboBox控件 208

0375 如何实现文件目录名称填充ComboBox控件 209

0376 如何将数组绑定到ComboBox控件 210

0377 如何将数据库字段绑定到ComboBox控件 210

9.10 组件应用技巧 211

0378 如何使用ProgressBar控件显示操作的进度 211

0379 如何使用ToolTip控件显示提示信息 211

0380 如何使用FlowLayoutPanel控件布局窗体 212

0381 如何使用SplitContainer控件分隔窗体 213

0382 如何使用Process组件打开系统进程 214

0383 FileSystemWatcher监视文件夹内文件的更改 214

9.11 其他常用件控件应用技巧 215

0384 如何在状态栏中显示时间 215

0385 如何在状态栏中加载图片 215

0386 如何设置DateTimePicker控件显示为空文 215

0387 如何判断ToolStrip控件Button控钮的单击 215

0388 如何实现Panle自动调整大小充满窗体 216

0389 如何实现CheckedListBox控件选重所有项 216

0390 如何实现CheckBox控件的选择状态 216

0391 如何使Lable控件显示出多行文字 217

0392 如何使用LinkLabel控件实现超级链接 217

0393 如何设置MaskedTextBox控件输入验证 218

0394 如何使用NotifyIcon控件创建任务托盘 219

0395 如何控制PictureBox控件显示图片风格 219

第10章 Web页面设计 221

10.1 网页外观设计 222

0396 将CSS样式表应用到页面中 222

0397 在页面的源码中直接定义样式表 222

0398 动态加载主题到页面中 223

0399 利用Table布局Web页面 223

0400 FrameSet框架的应用 224

0401 IFrame框架的应用 224

0402 页面尺寸自动适应1024×768像素和800×600分辨率 225

10.2 网页性能设计 225

0403 用meta标签来增强网页性能 225

0404 什么情况下使用缓冲会提高速度 226

0405 使用OutputCache指令实现页面缓存 226

0406 设置网页缓存的位置 227

0407 使用Cache类实现应用程序数据缓存 227

0408 缓存网页的不同版本 227

10.3 Web页的绑定 228

0409 如何绑定变量 228

0410 如何绑定集合 228

0411 如何绑定表达式 229

0412 如何绑定方法结果 230

0413 巧用DataBinder.Eval()方法进行数据绑定 230

0414 如何将DropDownList控件绑定到GridView控件中 231

10.4 开发Web页的常用功能 231

0415 使用QueryString变量在页面之间传值 231

0416 页面定时刷新如何实现 232

0417 显示只有数字的验证码图片 232

0418 显示数字和英文字母组合的验证码图片 232

0419 页面定时刷新后跳转到其他页 233

0420 打开新的窗口并传送参数 233

0421 动态显示用户头像 233

0422 利用Pannel控件显示和隐藏一组控件 233

0423 如何在GridView控件上添加删除确认 234

0424 如何为GridView控件添加编号列 234

0425 FindControl方法的应用 234

0426 如何实现单击表格行打开另一页并传递参数 235

0427 如何实现双击表格行超级链接到另一页并传递参数 235

0428 如何实现单击表格行改变颜色 235

0429 鼠标移动改变表格行的颜色 235

0430 如何在Web页中使用表格控件 236

10.5 Web.Config文件的配置 237

0431 通过Encoding的设置实现页面无乱码 237

0432 限制上传文件大小与时间 237

0433 配置验证级别 237

10.6 开发Web页其他功能 238

0434 如何使Pannel实现横向滚动纵向自动扩展 238

0435 属性MaintainScrollPositionOnPostBack实现网页定位 238

0436 自动隐藏式菜单 238

0437 关闭弹出窗口刷新父窗口 239

0438 弹出网页模式对话框 240

0439 弹出全屏显示网页 241

0440 为什么要生成静态页 242

0441 用快捷键〈Ctrl〉+〈N〉实现屏蔽 242

0442 如何在Web页中使用广告控件 242

0443 滚动显示博客公告 243

第11章 HTML客户端控件与服务器控件 245

11.1 数据控件应用技巧 246

0444 如何将数组绑定到GridView数据控件中 246

0445 使用GridView Web服务器控件绑定数据源 246

0446 使用GridView Web服务器控件自定义外观风格 247

0447 使用GridView Web服务器控件的简单排序 247

0448 如何在GridView Web服务器控件中分页 248

0449 使用GridView Web服务器控件编辑数据 249

0450 使用GridView Web服务器控件删除数据 251

0451 如何使用GridView Web服务器控件选择数据 252

0452 单击GridView控件按钮刷新保持原来的位置 253

0453 向GridView Web控件中添加CheckBox控件 253

0454 如何使用GridView Web控件实现超级链接 254

0455 在GridView Web控件中高亮显示鼠标所在行 256

0456 实现DataList Web服务器控件数据绑定功能 256

0457 如何实现DataList Web服务器控件分页功能 258

0458 实现查看DataList控件中数据的详细信息 259

0459 如何在DataList控件中创建多个列 260

0460 如何实现DetailsView控件分页功能 261

0461 将DataSet类对象绑定到Repeater数据控件中 262

11.2 导航控件应用技巧 263

0462 TreeView、SiteMapDataSource控件和SiteMap文件实现导航 263

0463 如何在TreeView控件中添加连接线 264

0464 以编程方式向TreeView控件中添加节点 264

0465 如何在TreeView控件中显示CheckBox控件 265

0466 如何判断TreeView控件中被勾选的节点 265

0467 用SiteMapPath控件绑定SiteMap文件实现导航 266

0468 如何设置SiteMapPath控件路径分隔符 266

0469 如何设置SiteMapPath控件路径方向 267

0470 如何设置SiteMapPath控件父节点显示个数 267

0471 如何设置SiteMapPath控件提示字符 268

0472 如何用Menu控件绑定SiteMap文件实现导航 268

0473 如何设置Menu控件显示静态菜单 269

0474 如何以编程方式创建Menu控件 270

11.3 标准控件应用技巧 271

0475 使用HyperLink服务器控件实现页面间传值 271

0476 如何使用Input(Reset)实现文本框清空功能 271

0477 如何取消DropDownLidt控件的激发验证 272

0478 使用FileUpload服务器控件实现文件上传 272

0479 使用LinkButton服务器控件实现超级链接 273

0480 实现DropDownList服务器控件的数据绑定 273

0481 如何改变DropDownList服务器控件中的项 274

0482 指定ListBox服务器控件中的项的目的移位顺序 275

0483 响应ListBox服务器控件的改变事件 276

0484 如何使用CheckBox服务器控件 276

0485 如何使用CheckBoxList服务器控件 277

0486 使用RadioButtonList服务器控件巧用单项选择 278

0487 使用BulletedList控件显示项目符号和编号 279

0488 如何使用HiddenField控件 280

0489 如何使用Literal控件显示静态文本 281

0490 如何使用AdRotator控件制作广告 281

0491 如何使用Wizard Web服务器控件制作导航页 282

0492 使用XML服务器控件转换XML文档 283

0493 使用Multi View与View控件制作导航页面 286

0494 使用PlaceHolder控件实现动态添加控件 289

0495 如何实现带滚动条的Panel面板 290

0496 使用Substitution控件在缓存页面插入内容 290

第12章 内置对象 293

12.1 ASP.NET基本对象 294

0497 使用Session对象在页面之间传值 294

0498 如何使用Session验证用户登录 294

0499 配置Session的生命周期 294

0500 如何遍历Session对象 295

0501 使用Application对象在页面之间传值 295

0502 存取Application变量内容 295

0503 如何锁定Application对象 296

0504 如何使用Application实现站点访问量统计 296

0505 如何删除Application变量内容 296

0506 使用ViewState对象在同一个页面传值 297

12.2 Response与Request对象 297

0507 如何解决Response.Redirect方法传递汉字时出现的错误 297

0508 使用Response.BinaryWrite方法输出二进制图像 297

0509 Response对象将文本文件的内容写回客户端浏览器 298

0510 如何使用Request接收页面间传值 298

0511 使用Request对象的Browser属性获取客户端浏览器信息 298

0512 获取客户端和服务器端IP地址 299

0513 使用Request对象获取客户端的表单信息 300

0514 使用Request对象的PhysicalApplicationPath属性获取服务器的绝对路径 300

0515 使用Request对象的CurrentExecutionFilePath属性获取当前页面的路径 300

0516 如何获取ASP.NET中所有Request的属性 300

0517 缓存区的应用 301

12.3 Cookie对象 302

0518 使用Cookie的优缺点 302

0519 使用Cookie对象在页面之间传值 302

0520 如何使用Cookie验证用户登录 303

0521 Cookie可以存储哪些值 303

0522 使用Cookie对象保存和读取客户端信息 303

0523 如何加密Cookie中的数据 304

0524 创建及存取多个键值的Cookie对象 304

0525 如何遍历Cookie集合 304

0526 设定Cookie变量的生命周期 305

0527 如何删除客户端的Cookies 305

0528 如何删除多值Cookie中的某个值 305

0529 如何使用Cookie处理网上重复投票 305

0530 如何使用户第2次访问我的网站不用提交信息 306

12.4 Server对象 307

0531 使用Server.Transfer方法在页面之间传值 307

0532 使用Server.MapPath方法获取服务器的物理地址 308

0533 使用Server.UrlEncode方法对字符串进行编码 308

0534 使用Server.UrlDecode方法对字符串进行解码 308

0535 利用Server对象进行HTML编码输出 308

0536 利用Server对象进行HTML解码输出 309

第13章 图形图像技术 311

13.1 图像预览及转换 312

0537 如何设计缩略图功能的图片浏览器 312

0538 如何浏览大图片 312

0539 如何局部放大图片 313

0540 如何实现剪切图片 313

13.2 图形缩放与变换 315

0541 如何缩放图片 315

0542 如何转换图像文件格式 315

13.3 图像效果 316

0543 如何以底片效果显示图像 316

0544 如何以浮雕效果显示图像 317

0545 如何以黑白效果显示图像 318

0546 如何以柔化效果显示图像 319

0547 如何以锐化效果显示图像 320

0548 如何以雾化效果显示图像 321

0549 如何以光照效果显示图像 322

0550 如何以百叶窗效果显示图像 323

0551 如何以马赛克效果显示图像 325

0552 如何以任意角度旋转图像 326

0553 如何以椭圆形显示图像 327

0554 如何以不同的透明度显示图像 328

0555 如何以不同分辨率显示图像 328

0556 如何以不同翻转方式显示图像 329

0557 如何以油画效果显示图像 330

0558 如何以扭曲效果显示图像 331

0559 如何以分块效果显示图像 332

0560 如何以四周扩散方式显示图像 333

0561 如何以从上向下拉伸方式显示图像 334

0562 如何以从左向右拉伸方式显示图像 335

0563 如何以上下反转方式显示图像 335

0564 如何以上下对接方式显示图像 336

0565 如何以左右反转方式显示图像 337

0566 如何以左右对接方式显示图像 338

0567 如何以淡入淡出效果显示图像 339

0568 如何以积木效果显示图像 341

13.4 图像字体 342

0569 如何以渐变色效果显示文字 342

0570 如何以倾斜效果显示文字 343

0571 如何以阴影效果显示文字 343

0572 如何以倒影效果显示文字 344

0573 如何以投影效果显示文字 344

0574 如何以浮雕效果显示文字 345

0575 如何以印版效果显示文字 346

0576 如何为文字填充图片纹理 346

0577 如何创建可旋转文字 347

13.5 图像识别及图像工具 347

0578 如何获取图像的像素值 347

0579 如何设置图像的像素值 348

0580 如何校正图像显示颜色 349

0581 如何使用阈值校正图像显示颜色 351

0582 如何获得图像信息 352

0583 如何制作简单的画图工具 353

0584 如何将图片以Image类型存储到数据库 356

0585 如何从数据库中读取Image类型的字段 357

13.6 图像应用及其他 358

0586 如何在Web页面上显示图像 358

0587 绘制渐变背景图像 359

0588 确定鼠标是否在图形范围内 359

0589 如何绘制柱形图 360

0590 如何绘制饼形图 362

0591 如何绘制折线图 364

0592 如何绘制图形验证码 366

0593 如何在桌面上全屏显示图像 367

0594 如何利用Image制作小动画 368

0595  如何使用鼠标拖动图片 368

0596 如何获取当前鼠标的形状 369

第14章 动画与多媒体 371

14.1 声音控制 372

0597 如何播放WAV声音文件 372

0598 如何播放默认的Beep事件声音 372

0599 如何播放默认的Hand事件声音 372

0600 如何播放默认的Asterisk事件声音 372

0601 如何播放默认的Question事件声音 373

0602 如何播放默认的Exclamation事件声音 373

0603 如何设置计算机喇叭发出的声音 373

0604 如何同步加载并播放声音文件 374

0605 如何异步加载并播放声音文件 374

14.2 多媒体及其他 375

0606 C#实现动画效果 375

0607 C#设计屏幕保护程序 375

0608 如何实现滚动字幕 376

0609 如何播放AVI动画文件 376

0610 如何播放Flash 377

0611 用C#实现家庭影集 378

0612 C#实现电影特效 379

0613 如何实现Word艺术字 379

0614 检查是否安装声卡 380

0615 带有记忆功能的MP3 380

0616 打开和关闭光驱 381

0617 如何收听网络电台 382

0618 如何通过剪贴板复制粘贴图像 382

0619 如何转换图像文件的保存格式 383

0620 如何制作自动播放的MP3播放器 384

0621 学校体操定时音乐播放 385

0622 如何从ARGB分量值创建Color结构 385

0623 如何动画显示窗体 386

0624 如何获取系统的图像编码器信息 387

0625 如何获取系统的图像解码器信息 388

第15章 键盘与鼠标 389

15.1 鼠标操作技巧 390

0626 鼠标双击窗体时模拟键盘Tab键操作 390

0627 定义鼠标指针形状 390

0628 自定义鼠标的图片 391

0629 鼠标拖放复制文本 391

0630 如何使用鼠标单击添加控件 392

0631 如何获得鼠标在窗体上的位置 392

0632 如何交换鼠标左右键功能 392

0633 如何隐藏和显示鼠标 393

0634 如何获取光标闪烁的频率 394

0635 如何获得屏幕上鼠标的坐标 394

0636 如何限制鼠标在某一区域工作 394

0637 如何利用鼠标绘图 395

0638 如何获取鼠标双击时间间隔 396

0639 如何获取鼠标键数 396

0640 如何显示鼠标的等待光标 397

0641 如何禁用鼠标左键 397

0642 如何模拟鼠标操作 398

0643 如何实现鼠标穿透窗体 399

0644 如何记录鼠标行为 399

15.2 键盘操作技巧应用 400

0645 如何禁用输入法编辑器 400

0646 如何打开和关闭输入法编辑器 400

0647 回车转换成Tab键 400

0648 如何获取组合键 401

0649 如何获取功能键 401

0650 如何判断NumLock键和CapsLock键是否锁定 401

0651 如何屏蔽〈Alt〉+〈F4〉键关闭窗体 402

0652 如何实现按下〈Esc〉键关闭窗体 402

0653 如何避免按〈Enter〉键产生“嘀”声 403

0654 如何设置键盘热键 403

第16章 文件、文件管理及数据流 405

16.1 获取文件基本信息 406

0655 获取文件创建的日期和时间 406

0656 如何检索路径中的文件名和扩展名 406

0657 如何获得文件的大小 407

0658 如何修改文件属性 407

0659 如何监视文件系统变化情况 408

0660 如何获取文件的系统启动方式 408

0661 如何获取文件名禁止使用的字符 409

0662 如何获取路径名禁止使用的字符 410

0663 如何获取指定目录的上级目录 410

16.2 文件基本操作 411

0664 判断文件是否存在 411

0665 创建一个文件用于写入UTF-8编码的文本 411

0666 OpenRead方法打开现有文件并读取 412

0667 打开现有UTF-8编码文本文件并进行读取 412

0668 OpenWrite方法打开现有文件并进行写入 413

0669 如何读取文件中的第一行数据 413

0670 如何向文件中写入数据 413

0671 如何读取文件中所有数据 414

0672 如何创建临时文件 414

0673 如何实现文件替换 415

0674 使用递归法删除文件夹中所有文件 415

0675 如何更改文件扩展名 416

0676 如何实现复制文件 416

0677 如何修改文件名 416

0678 如何删除文件 417

0679 如何上传文件 417

0680 如何下载文件 418

0681 如何拖放文件 419

0682 如何搜索文件 419

16.3 文件夹基本操作 420

0683 如何创建文件夹 420

0684 如何移动文件夹 420

0685 如何修改文件夹名称 421

0686 如何遍历文件夹 421

0687 如何删除文件夹 422

16.4 数据流操作 422

0688 如何读写内存数据流 422

0689 如何创建二进制文件 423

0690 如何读取二进制文件 423

0691 如何使用缓冲流 424

16.5 加密、解密及解压缩文件 425

0692 加密和解密文件 425

0693 如何使用对称算法加密文件 425

0694 如何使用对称算法解密文件 426

0695 如何使用GZip压缩文件 427

0696 如何使用GZip解压文件 428

0697 如何使用WinRAR压缩文件 429

0698 如何使用WinRAR解压文件 429

16.6 其他 430

0699 设置文件的访问模式 430

0700 如何在C#应用程序中使用INI文件 430

0701 如何操作帮助文件 431

0702 如何操作Word文件 432

0703 如何操作Excel文件 433

0704 如何将文本文件转换成网页文件 434

0705 如何产生随机文件夹名或文件名 435

0706 如何将长文件名转换成短文件名 436

0707 如何用程序创建XML文档并写入内容 436

0708 如何通过DataSet对象读取XML文件 438

0709 如何动态创建XML文件节点 439

0710 如何实现XML文件数据类型的转换 439

0711 将图片保存到XML文件中 440

0712 如何比较两个文件的内容是否相同 440

0713 如何以缩略图形式上传图片文件 441

0714 如何解析只有一种格式的文本文件 442

0715 如何解析含有多种格式的文本文件 443

第17章 Windows开发技术 446

17.1 获取计算机系统信息 446

0716 如何获取系统时间 446

0717 如何获取系统目录 446

0718 如何获取计算机名称 446

0719 如何获取当前程序运行目录 446

0720 如何获得操作系统版本号 446

17.2 获取计算机硬件信息 446

0721 如何获取CPU编号 446

0722 如何获取显示设备的PNPDeviceID 447

0723 如何获取声音设备的PNPDeviceID 447

0724 如何获取硬盘编号 447

0725 如何获取CPU的版本信息 448

0726 如何获取CPU的产品名称信息 448

0727 如何获取CPU的制造商名称 448

0728 如何获取主板制造商 449

0729 如何获取主板编号 449

0730 如何获取主板型号 449

0731 如何获取磁盘空间 450

0732 如何获取磁盘剩余空间 450

0733 如何确定屏幕的分辨率 451

0734 如何获得磁盘的卷标 452

0735 如何获得磁盘的文件系统类型 452

17.3 获取特殊文件夹路径 453

0736 如何获取ProgramFiles目录全路径 453

0737 如何获取桌面目录全路径 453

0738 如何获取开始菜单目录全路径 454

0739 如何获取用户程序组目录全路径 454

0740 如何获取文档模板目录全路径 455

0741 如何获取收藏夹目录全路径 455

0742 如何获取共享组件目录全路径 456

0743 如何获取我的图片目录全路径 456

0744 如何获取Internet历史记录全路径 457

0745 如何获取Internet临时文件目录全路径 457

0746 如何设置可用样式 457

17.4 获得Windows当前用户 458

0747 如何获取当前用户 458

0748 如何判断当前用户是否是普通用户 458

0749 如何判断当前用户是否是超级用户 458

0750 如何判断当前用户是否是系统管理员 459

0751 如何判断当前用户是否是系统操作员 459

0752 如何判断当前用户是否是备份操作员 460

0753 如何判断当前用户是否是打印操作员 460

0754 如何判断当前用户是否是复制程序员 461

0755 如何判断当前用户是否是账户操作员 461

17.5 Windows日志 462

0756 如何获取系统日志信息 462

0757 如何获取安全日志信息 462

0758 如何获取应用程序日志信息 463

0759 如何创建并写入自定义日志信息 464

0760 如何向系统日志写入自定义数据 464

0761 如何向应用程序日志写入自定义信息 465

17.6 计算机控制 465

0762 列举系统中所有窗口 465

0763 C#实现键盘钩子 465

0764 如何关闭计算机 466

0765 如何抓屏 466

0766 如何休眠计算机 467

0767 如何禁止使用Windows任务管理器 468

0768 如何为文件新增右键菜单项 468

0769 如何设置系统仅能运行的程序 469

0770 如何获取本地计算机上所有的进程 469

0771 如何启动一个进程 470

0772 怎样杀死一个进程 470

0773 如何获取远程计算机上所有的进程 470

17.7 其他相关技术 470

0774 如何在注册表中保存窗体的大小和位置 470

0775 如何实现程序间注册表内传递变量 471

0776 在使用OpenFileDialog中的相对路径问题 471

0777 如何设置启动时自动执行程序 471

0778 C#编程实现Windows XP风格的界面 471

0779 用C#实现文件查找功能 473

0780 如何序列化对象 473

0781 如何实现特殊形状的窗体 474

0782 如何移动正在使用的文件 474

0783 如何实现类似QQ的程序界面 475

0784 如何实现动画显示窗体 476

0785 如何显示和隐藏任务栏 477

0786 如何实现OutLook界面 478

0787 如何在C#中回车换行 478

0788 如何获取进程的命令行 479

0789 如何按行读取文本并显示行数 479

0790 如何在Form中嵌入Excel 479

0791 如何使用互斥量禁止程序运行两个实例 480

0792 如何使用进程名禁止程序运行两个实例 480

0793 如何获取控制台应用程序的显示结果 481

0794 如何用@代替路径中的转义字符 482

第18章 程序应用控制 483

18.1 提取信息 484

0795 判断驱动器类型并获取其属性 484

0796 如何得到本地机器的IP 484

0797 如何得到本地运行的EXE的路径 485

0798 得到计算机所有正在运行的进程 485

0799 获得Windows的启动模式 485

0800 获取鼠标的按钮个数及鼠标安装状态 485

0801 检测计算机是否存在网络连接 486

0802 如何判断计算机的联机状态 486

0803 获取计算机屏幕分辨率 486

0804 获取计算机当前登录的用户名称 486

18.2 系统控制 486

0805 远程关闭或重新启动计算机 486

0806 创建应用程序快捷方式 487

0807 启动Windows系统服务 488

0808 在C#应用程序中控制输入法 488

0809 打开“区域和语言选项”对话框并指定选项卡 489

0810 如何执行命令行命令? 489

0811 如何修改计算机的默认打印机 490

0812 如何实现行业软件系统注销功能 490

0813 如何将计算机设置为休眠状态 490

0814 在Windows系统中建立事件日志 491

0815 如何使PC喇叭发音 491

18.3 程序控制 491

0816 使用回车键控制鼠标焦点 491

0817 如何调用可执行应用程序 492

0818 TextBox上禁用鼠标右键 492

0819 如何实现屏幕截图 492

0820 如何将截取的图片保存为指定图片格式 493

0821 如何复制程序本身 493

0822 分段显示电话号码颜色 493

0823 软件版本号是如何组成的 493

0824 单击“关闭”按钮或按〈Alt〉+〈F4〉键时最小化窗口 494

0825 屏蔽RichTextBox控件〈Ctrl〉+〈V〉快捷键 495

18.4 其他 495

0826 将DataGridView控件中的数据导入Excel 495

0827 无法获取自定义环境变量的值 496

0828 将组件放到COM+服务器上去 496

0829 调用非托管的DLL文件 497

0830 如何将GridView控件数据导入Word 497

0831 如何将GridView控件数据导入Excel 497

0832 单片机如何实现在线调试 498

0833 单片机如何实现内存优化管理 498

0834 单片机实现文件系统管理 498

0835 杀死进程 498

0836 如何下载某网站上的图片资源 498

第19章 SQL查询相关技术 501

19.1 常用SQL查询技术 502

0837 如何在查询中正确使用单引号“’” 502

0838 SQL中SELECT语句的执行顺序 502

0839 在查询时查询数据为指定长度的数据 502

0840 如何利用WHERE参数过滤数据 503

0841 如何正确地理解和运用SQL中的判式 503

0842 如何正确地理解和使用SQL中的关键字 503

19.2 比较、逻辑运算符查询 504

0843 如何使用算术运算符号进行比较查询 504

0844 如何使用比较运算符号进行比较查询 504

0845 如何使用AND逻辑运算符查询 505

0846 如何使用OR逻辑运算符查询 506

0847 如何联合使用AND和OR运算符查询 506

0848 如何在查询中正确使用逻辑操作符 507

0849 利用通配符进行查询 507

19.3 SQL关键字查询 508

0850 如何使用ESCAPE关键字规定转义字符 508

0851 如何使用BETWEEN进行范围查询 508

0852 如何使用NOT BETWEEN进行范围查询 509

0853 如何使用GROUP BY子句查询 509

0854 如何使用HAVING语句过滤分组数据 510

0855 如何使用ALL关键字查询 510

0856 如何使用CUBE关键字查询 511

19.4 表结构与性能 511

0857 检测信息是否存在 511

0858 @@CPU_BUSY获取CPU的工作时间 511

0859 如何获取磁盘读写次数 512

0860 获取SQL Server服务器名 512

0861 获取数据库标识号 512

0862 判断用户是否访问数据的权限 512

0863 显示表中列信息 512

0864 显示表中任意列名称 513

0865 提高SQL性能加快执行速度 513

0866 控制批处理内语句的执行 513

0867 执行查询但是显示列信息 514

0868 获取连接或试图连接的次数 514

0869 获取当前数据库的语言名 514

19.5 时间与谓词 514

0870 时间函数的使用 514

0871 设置数据库时间表显形式 515

0872 格式化日期显示格式 515

0873 如何正确理解SQL中的NULL值 516

0874 如何使用IsNull()函数来处理空值 516

0875 如何使用Nullif()函数来处理空值 516

0876 查询空值(NULL)的技巧 517

0877 利用关键字DISTINCT去除重复记录 517

0878 巧用TOP子句获取信息 518

0879 巧用CONTAINS谓词检索信息 518

0880 通过ISNULL替换信息 519

0881 比较COMPUTE和GROUP BY 519

0882 如何对指定时间段进行查询 519

0883 对某期间的数据进行查询的几种方法 519

0884 NOT与谓词进行组合条件的查询 520

19.6 聚合函数 520

0885 聚合函数SUM的使用 520

0886 聚合函数AVG的使用 521

0887 如何使用聚合函数MAX 521

0888 如何使用聚合函数MIN 522

0889 如何使用聚合函数COUNT 522

0890 如何使用聚合函数First或Last 523

19.7 子查询与连接查询 523

0891 union与连接之间的区别 523

0892 如何应用IN查询表中的记录信息 524

0893 使用一个单行的子查询来更新列 524

0894 使用IN引入子查询限定查询范围 524

0895 在UPDATE语句中应用子查询 525

0896 如何应用子查询 525

0897 EXISTS与子查询联合应用 525

0898 在FROM子句中的子查询 525

0899 在DELETE语句中应用子查询 526

0900 子查询与聚合函数的应用 526

0901 有效使用内连接 526

0902 如何使用LEFT OUTER JOIN查询 526

0903 如何使用RIGHT OUTER JOIN查询 527

0904 利用CASE语句查询结果 527

19.8 交叉表 528

0905 Access中利用TRASFORM分析数据 528

0906 Access中利用TRASFORM动态分析数据 529

0907 SQL Server实现静态交叉表 529

0908 SQL Server实现动态交叉表 531

19.9 常用数据操作 532

0909 如何对字符串进行查询 532

0910 如何进行单条数据的添加 533

0911 如何进行批量数据的添加 533

0912 如何对数据进行修改 534

0913 如何对数据进行删除 534

0914 对数据库数据进行局部删除 534

19.10 高级应用 535

0915 如何使用临时表 535

0916 如何查询表中的列名 535

0917 在查询中如何防止输入指定符串 536

0918 查询指定长度的数据 536

0919 获取当前数据库的详细信息 537

0920 在查询过程中灵活定义与使用别名 538

19.11 视图、存储过程和触发器的使用 538

0921 如何正确认识视图 538

0922 如何获取数据库中的全部用户视图 539

0923 如何通过视图修改数据 539

0924 如何正确理解存储过程 540

0925 如何获取数据库中的全部存储过程 540

0926 如何正确认识触发器 541

0927 Update触发器在系统日志中的应用 542

0928 触发器的嵌套使用 542

0929 获取数据库中的触发器 543

19.12 其他 544

0930 在查询程序中使用变量 544

0931 对查询结果进行排序 544

0932 批量获取结果集信息 545

0933 对查询结果生成表 545

0934 实现数据类型转换 546

0935 获取当前数据库的登录用户名 546

0936 如何正确理解数据库键字 546

0937 将结果转换为XML形式 547

0938 追加查询结果到已存在的表 547

0939 利用对多个表中的字段创建新记录集 547

0940 利用EXECUTE执行SQL语句 548

第20章 数据库技术 549

20.1 Access数据库的使用 550

0941 如何为Access数据库设置密码 550

0942 如何创建加密的Access数据库 550

0943 建立Access数据库连接 551

0944 与加密后的Access数据库建立连接 551

0945 如何提取Access数据库中的数据表名 551

0946 随机读取Access数据库记录 552

0947 将Access数据库导入到Excel中(ASP.NET) 552

0948 在.NET 2.0框架下动态创建Access数据库 553

0949 在.NET 2.0框架下动态创建Access数据表 553

0950 如何备份Access数据库 554

20.2 SQL数据库的使用 554

0951 建立SQL Server数据库连接 554

0952 如何使用ODBC访问SQL Server数据库 555

0953 读取SQL Server数据表结构 556

0954 在C#中分离SQL Server数据库 557

0955 C#中附加SQL Server数据库 558

0956 C#中附加单文件SQL Server数据库 559

0957 备份SQL Server数据库 559

0958 还原SQL Server数据库 560

0959 开启SQL Server数据库服务 561

0960 断开SQL Server数据库服务 562

0961 如何判断SQL Server数据库连接状态 562

0962 获取连接SOL Server数据库的名称 563

0963 获取SQL Server的连接统计数据 563

0964 如何调用SQL Server存储过程 563

0965 如何生成SQL数据库脚本 564

0966 SQL Server 2000无法安装的解决办法 565

20.3 其他 565

0967 如何判断记录是否为NULL 565

0968 建立Oracle数据库连接 566

0969 如何在数据表中设置主键 566

0970 DataSet读取XML文件中数据作为数据源 567

0971 如何读取Fox的DBF文件 567

0972 通用方法实现数据增、删、改功能 567

0973 通用方法获取查询结果DataSet数据集 568

0974 同时查询多条SQL语句 568

0975 如何判断是否查询到结果 568

0976 将图片以二进制格式存储到数据库中(asp.net) 569

0977 从DataReader对象读取数据的技巧 569

0978 随机显示数据库记录 569

0979 通过DataTable获得数据表的主键 569

0980 将Access数据库转化为SQL Server数据库 570

0981 将SQL Server数据库转化为Access数据库 571

0982 如何避免数据库死锁现象 572

0983 如何调用带输入参数的存储过程 572

0984 如何获取存储过程返回的结果集 573

0985 取得数据表某个单元格的值 573

0986 在ASP.NET2.0下将数据绑定DropDownList 573

0987 在ADO.NET中实现数据库的事务处理 574

0988 将任意文件保存到数据库中 574

0989 将存储在数据库中的文件提取出来 575

0990 合并具有相同数据表结构的查询结果 575

0991 使用DataTable进行数据检索 575

0992 使用DataView对数据进行检索和排序 576

0993 使用DataSet建立DataTable明细表 576

第21章 打印与报表技术 549

21.1 报表设计技术 550

0994 如何快速创建水晶报表 580

0995 如何编写带图片的报表 582

0996 如何使图片成为整个报表的背景 583

0997 如何设置水晶报表中节的背景图片 583

0998 如何设置水晶报表中节的背景色 584

0999 如何设置水晶报表的页面 584

1000 如何在报表中添加节 584

1001 如何在报表中移动节的顺序 585

1002 如何在报表中合并节 585

1003 如何在报表中册除节 585

1004 如何在报表中显示与隐藏节 586

1005 如何设置多列样式报表 586

1006 如何设置报表中节的高度 587

1007 如何设置报表的摘要信息 587

1008 如何设置报表的打印日期与时间 587

21.2 报表格式化类对象技巧 588

1009 如何在报表中使用文本对象 588

1010 如何移动对象操作 588

1011 如何对齐多个对象 589

1012 如何使用公式字段 589

1013 如何在报表中使用线 590

1014 如何在报表中使用方框 590

21.3 报表数据排序与分组技巧 591

1015 如何排序报表数据 591

1016 如何报表数据分组 591

1017 如何报表中筛选数据 592

1018 如何对分组报表中的页码进行设置 592

21.4 报表的应用技巧 593

1019 如何在水晶报表中使用交叉表 593

1020 如何在水晶报表中使用子报表 594

1021 如何动态显示子报表 596

1022 如何删除子报表 597

1023 如何在报表中计算百分比 597

21.5 Windows打印控件应用技巧 599

1024 如何使用PrintDocument控件打印窗体数据 599

1025 如何使用PrintPreviewContronl控件预览 599

1026 使用PrintPreviewDialog对话框 600

1027 如何使用PrintDialog对话框打印 601

1028 如何使用PageSetupDialog对话框设置页面 601

1029 如何使用PrintDocument控件打印文本文件 602

第22章 C#高级应用开发 605

22.1 线程的使用 606

1030 如何开始一个线程 606

1031 如何结束一个线程 606

1032 如何使线程休眠 606

1033 如何挂起一个线程 606

1034 如何判断线程的状态 606

1035 如何实现线程的同步 607

1036 如何避免死锁 607

22.2 .NET 2.0的新特性 607

1037 如何使用泛型 607

1038 如何使用匿名方法 608

1039 如何使用迭代器 609

1040 如何使用分部类 610

22.3 C#WebService 610

1041 建立SQL Server返回数据集WebService 610

1042 利用WebService传送图片 611

22.4 文件监视 611

1043 如何监视文件的创建 611

1044 如何监视文件的改变 612

1045 如何监视文件的重命名 612

1046 如何监视文件的删除 613

22.5 C#高级应用 613

1047 如何将聊天程序做成Windows服务 613

1048 COM+服务解决同时访问大量数据并发性 615

1049 COM+服务实现银行转账系统 617

1050 如何用Remoting技术传送文件 619

1051 大规模数据访问时缓解服务器压力 620

第23章 硬件及相关开发技术 623

23.1 语音卡、IC卡、神龙卡的使用 624

1052 利用语音卡拨打电话 624

1053 客户来电查询系统 625

1054 向IC卡中写入数据 626

1055 从IC卡中读取数据 627

1056 利用IC卡制作考勤程序 628

1057 利用神龙卡制作练歌房点歌程序 629

23.2 串口技术与加密狗技术 631

1058 使用串口传输数据 631

1059 通过串口控制对方计算机 631

1060 密码写入与读出加密狗 633

1061 利用加密狗制作登录程序 634

1062 利用条形码销售商品 635

23.3 其他 636

1063 简易摄像头程序 636

1064 超市摄像头定时监控系统 638

1065 利用短信猫收发短信息 639

1066 利用短信远程关闭计算机 641

1067 短信息采集烟草销售数据 643

第24章 网络开发相关技术 645

24.1 Windows服务控制 646

1068 如何暂停IIS的默认网站 646

1069 如何继续IIS的默认网站 646

1070 如何启动IIS的默认FTP站点 647

1071 如何暂停IIS的默认FTP站点 647

1072 如何继续IIS的默认FTP站点 648

1073 如何停止IIS的默认FTP站点 648

1074 C#如何检测SQL是否启动 649

1075 如何启动IIS的默