社区
数据库相关
帖子详情
使用ADO控件,一个主表挂两个从表,经常发生“无法为更新定位行”的错误!
limitanger
2003-02-24 09:47:47
在新增一条记录保存后,马上修改再保存就会出现“无法为更新定位行。一些值可能在最后一次读取后已更改”的错误!
...全文
53
12
打赏
收藏
使用ADO控件,一个主表挂两个从表,经常发生“无法为更新定位行”的错误!
在新增一条记录保存后,马上修改再保存就会出现“无法为更新定位行。一些值可能在最后一次读取后已更改”的错误!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
limitanger
2003-03-25
打赏
举报
回复
我现在又发生这种问题了!呜呜!谁帮帮我呀!
nnwq
2003-03-17
打赏
举报
回复
有主键也是不行的,在新增记录并保存后,如果再次对其修改仍然会出错!!!除非一定要重新打开数据表。这是ADO的一个大BUG???!!!(我用的是ADO+mdb),此问题令我非常头痛,尤其是使用缓存更新时(此时是不可能重新打开表的)。
limitanger
2003-02-27
打赏
举报
回复
有主键的!不过我已经解决,我让每个线程都拥有自己的会话,使用多个connection,就没有这个问题了,只是速度依然很慢,我用的是SQL-server,10M带宽
jade007
2003-02-25
打赏
举报
回复
记录多的话建议你用大型的数据库,如ORACLE,我打开一个表为十二万条记录的表只用了3秒钟,
不明再问。
jade007
2003-02-25
打赏
举报
回复
我也碰到这样的问题。解决办法很简单,只要在数据库中设个主键就搞定了,不明再问我。
King_0119
2003-02-25
打赏
举报
回复
请问你用的是什么数据库
用ADO连MS的东西是不会有问题的
我用ADO连Oracle也出现了同样的问题
是ADO和Oracle兼容不好
至今未解决
所以最好抉择一下
选择Borland的DBExpress好像不错
不过暂时没有支持MSAccess
lijx18
2003-02-25
打赏
举报
回复
数据库表中无主键
cxygoo
2003-02-24
打赏
举报
回复
使用第三方控件来操作数据库,用到什么数据,就调什么数据到客户端内存,启动很快
limitanger
2003-02-24
打赏
举报
回复
我的主表有十几万条记录,两个从表也各有数万条记录,close后在open很慢的,顺便再问个问题,程序在启动时就要花费好长时间,我把游标设在服务器端,从表在打开时就会出错:“当前程序不支持排序和过滤所必须的界面”,我又尝试异步方式启动,可是速度没有任何改变
beata88
2003-02-24
打赏
举报
回复
可能是你还没有post,而又对数据集进行Modify,Insert吧
wabi
2003-02-24
打赏
举报
回复
你用的是ADOTABLE或者AOQUERY吧,我想你需要在修改前重新刷新一下主从表,即先close,再open。
bluemeteor
2003-02-24
打赏
举报
回复
requestlive:=true
Access+2000中文版高级编程
Access2000中文版高级编程 目录 第一部分 编程基础 1 第1章 宏与代码 3 1.1 何时
使用
代码代替宏 4 1.1.1 何时用宏 4 1.1.2 何时用代码 4 1.2 宏到代码的转换 5 1.2.1
使用
DoCmd对象 5 1.2.2 与宏命令等价的代码 7 1.3 将现有宏转换为代码 8 1.4 小 结 12 第2章
使用
VBA编写代码 13 2.1 编程初步 13 2.1.1
使用
代码模块 14 2.1.2 声明变量 17 2.1.3 声明过程 21 2.1.4 控制程序流 27 2.1.5 代码注释 30 2.1.6
错误
处理 30 2.1.7 本书的编程风格 31 2.2 VBA初步 31 2.2.1 对象基础 31 2.2.2
使用
对象浏览器 32 2.3
使用
对象编程 34 2.3.1 关键字Public 35 2.3.2 关键字Private 35 2.4
使用
属性和方法 35 2.4.1
使用
现有的属性 35 2.4.2
使用
现有的方法 38 2.4.3
使用
命名参数 38 2.4.4 将对象赋值给变量 39 2.5
使用
集合 41 2.5.1 计算元素的数量 42 2.5.2 访问集合元素 42 2.5.3 对集合元素循环 43 2.6 定制窗体 44 2.6.1 编写定制的属性 45 2.6.2 编写值为对象的属性 48 2.6.3 编写定制的方法 48 2.7 编写类模块 49 2.7.1 创建外界支持的对象 49 2.7.2 创建类模块 50 2.7.3
使用
类模块 52 2.8 小 结 54 第3章 做出选择:MDB或ADP,DAO或
ADO
55 3.1
使用
MDB还是ADP 55 3.1.1 两者各自用到的对象 56 3.2
使用
DAO还是
ADO
58 3.3 小 结 60 第4章
使用
Access集合 61 4.1 创建定制的集合 61 4.1.1 定义新集合 62 4.1.2 添加集合元素 62 4.1.3 删除集合元素 63 4.2 比较定制的集合和数组 64 4.2.1 创建整数集合 64 4.2.2 创建整数数组 65 4.2.3 集合的高级用法 66 4.3 访问Access对象模型 66 4.3.1
使用
Application对象 67 4.3.2
使用
References集合 80 4.3.3
使用
Forms和Reports集合 80 4.4 通过编程实现同一窗体的多个副本 83 4.4.1 支持多窗体实例 84 4.4.2 检查Employees窗体的代码 84 4.4.3 自动关闭Employees窗体 86 4.5 小 结 87 第5章
使用
DAO 88 5.1 理解DAO 88 5.1.1 了解数据库的内部构造 89 5.1.2 DAO初步 90 5.1.3 进入数据库 90 5.1.4 检查数据库 92 5.1.5 检查表的属性 93 5.1.6 检查查询类型 94 5.2
使用
DAO创建数据库 95 5.2.1 创建Database对象 96 5.2.2 复制表结构 99 5.2.3
使用
Field对象 102 5.2.4 复制查询 102 5.2.5 复制关系 104 5.2.6 复制数据 106 5.3
使用
事务加快处理速度 108 5.4
使用
定制的属性 109 5.5 小 结 111 第6章 ActiveX数据库对象 112 6.1 查看对象模型 112 6.1.1
ADO
DB 2.1对象模型 114 6.1.2
ADO
X 2.1 for DDL and Security对象模型 115 6.1.3 JRO 2.1对象模型 115 6.2 引用类型库 115 6.3 打开数据库的连接 118 6.3.1 与当前数据库连接 118 6.3.2 与另
一个
数据库连接 119 6.4
使用
ADO
创建记录集 120 6.4.1 打开简单的记录集 120 6.4.2 循环搜索和编辑记录集 122 6.4.3 创建永久记录集 124 6.4.4
使用
RecordCount, BOF和EOF属性 125 6.4.5 检查记录集支持的操作 126 6.4.6 复制记录集 126 6.4.7 书签 126 6.5
使用
ADO
查询 127 6.5.1 创建新查询 127 6.5.2 创建参数查询 128 6.5.3 针对参数查询打开记录集 128 6.5.4 执
行
批量查询 129 6.5.5 修改现有的查询 130 6.5.6 删除查询 131 6.6 用
ADO
操作表 131 6.6.1 查看Tables集合 131 6.6.2
使用
字段和索引创建新表 133 6.6.3 通过加入索引来修改现有表 136 6.7 小 结 136 第7章
使用
VBA处理Access中的
错误
138 7.1 Access中的
错误
消息 138 7.2
使用
错误
处理程序的不同方法 139 7.3 Access运
行
阶段时的
错误
处理 139 7.3.1
使用
On Error命令 139 7.3.2
使用
Exit Sub|Function命令 141 7.3.3
使用
Resume, Resume Next和Resume LineLabel 141 7.4
使用
ERR和 ERROR对象 145 7.4.1 Err对象的Clear方法 145 7.4.2 Err对象的Raise方法 146 7.5
使用
Errors集合 149 7.6 创建用户定义的
错误
154 7.7
使用
定制的
错误
日志追踪
错误
156 7.7.1
错误
日志例程的声明节 156 7.7.2 调用
错误
日志的
错误
处理程序的示例 157 7.7.3 每个
错误
的跟踪信息 158 7.7.4 检查实际的
错误
日志代码 159 7.7.5 首先记录到后端,必要时记录到前端 162 7.7.6
使用
错误
处理程序
更新
后端 163 7.8 创建集中式
错误
处理例程 165 7.9
错误
处理问题的最后回顾 171 7.9.1 注意环境开关 171 7.9.2
使用
错误
处理程序回卷事务 174 7.9.3
使用
窗体的On Error事件 175 7.9.4 嵌套
错误
处理程序 177 7.9.5
错误
处理的新选项 177 7.10 小 结 178 第二部分 操作和显示数据 179 第8章 用查询最大限度地利用数据 181 8.1 Access
使用
查询的位置 181 8.1.1 在窗体或报表的记录源属性中
使用
查询 182 8.1.2 设置用户
使用
查询的权限 183 8.1.3
使用
命名约定和查询文档 185 8.2 运用选择查询:
使用
查询设计网格 187 8.2.1 表的联接 188 8.2.2 同
一个
表
使用
两次(自联接) 189 8.2.3
使用
Access的自动查阅功能 191 8.3 运用操作查询:力量的源泉 193 8.3.1 生成表查询(SELECT INTO) 193 8.3.2 追加查询 194 8.3.3
更新
查询(UPDATE..SET) 195 8.3.4 删除查询(DELETE) 195 8.4
使用
高级的查询操作 195 8.4.1 总计查询 195 8.4.2 在单独或所有选项中
使用
联合查询 198 8.4.3 嵌套查询 198 8.4.4 子查询 200 8.4.5 产生关于对象的查询(DDL) 200 8.5 用VBA增强功能 200 8.5.1 用VBA创建更快的查询 200 8.5.2 窗体查询 201 8.5.3 生成临时的查询对象QueryDef 210 8.5.4
使用
DoCmd对象的RunSQL方法 211 8.5.5 在VBA中实现参数查询 211 8.6 用查询产生报表与窗体 212 8.7 用查询解决问题 213 8.7.1 分组以获得百分比 213 8.7.2 查找并删除重复的记录 215 8.7.3 用组的嵌套彻底解决问题 217 8.7.4 区分新旧记录 217 8.7.5 在交叉表查询中
使用
“总计”
行
220 8.8 查询过程的结构 224 8.8.1 定义查询 224 8.8.2 编译 224 8.8.3 准备执
行
计划(优化) 225 8.9 Jet的优化方法 225 8.9.1 应用Rushmore技术 225 8.9.2 检查群聚的基本索引 226 8.9.3
使用
预读功能 228 8.9.4 用SetOption命令在注册表中设置Jet 228 8.10 优化技术 230 8.10.1 用表关系提高性能 230 8.10.2 添加索引 230 8.10.3 改变数据库结构以提高性能 231 8.10.4 优化联接性能 232 8.11
使用
非常规的优化技术 232 8.11.1 性能调整的陷阱 232 8.11.2 诊断慢速查询 232 8.11.3 用查询设计网格以解决模糊字段的引用问题 233 8.12
使用
分析器向导 233 8.12.1 表分析器向导 234 8.12.2 性能分析器向导 234 8.12.3 文档管理器 236 8.13 小 结 236 第9章 创建功能强大的窗体 237 9.1 增强窗体性能 237 9.1.1 增强窗体性能 237 9.2
使用
Access 2000最新的窗体特性 238 9.2.1
使用
窗体的记录集属性 238 9.2.2
使用
Dirty事件 240 9.3 利用其他窗体特性 241 9.3.1 指定启动的Splash Screen窗体 241 9.3.2
使用
窗体的背景属性 241 9.4 利用Openargs和tab属性重用窗体执
行
标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用
控件
扩展窗体的功能 257 10.1 为窗体中的字段设置查阅属性 257 10.2 充分利用组合框 259 10.2.1
使用
组合框向导 259 10.2.2 在向导外对组合框编程 261 10.2.3
使用
联合查询以显示
一个
或所有记录 263 10.2.4 在子窗体中
使用
SQL的UNION语句查询所有记录 266 10.2.5 在组合框
控件
外显示组合框的列 268 10.2.6 根据用户的输入添加新的组合框选项 271 10.3
使用
本机的Access选项卡
控件
273 10.3.1 本机的选项卡
控件
概述 273 10.3.2 创建并编辑新的选项卡
控件
275 10.3.3 在选项卡
控件
中移动页 277 10.3.4 在选项卡页上添加
控件
278 10.3.5 为选项卡
控件
编程 279 10.4 更改Access
控件
280 10.4.1 在窗体设计的时候,更改Access
控件
281 10.4.2 在运
行
的时候,
使用
VBA更改
控件
281 10.5 对多重选择列表框编程 284 10.5.1 与多重选择有关的列表框属性 284 10.5.2 在多重选择列表框中
使用
VBA来操作选中项 285 10.6
使用
子窗体、子报表向导 291 10.7 对
控件
提供电子表格的光标移动方式 292 10.7.1 研究问题 292 10.7.2 解决问题 293 10.8 用代码操纵
控件
297 10.8.1 检查选项组菜单窗体的组成 297 10.8.2 ManipulatingControlsExample窗体 298 10.8.3 查看窗体后面的代码 299 10.9 小 结 304 第11章 创建强大的报表 305 11.1 对汇总、细节以及综合这二者的报表建立同一报表 305 11.2 用按窗体查询来创建同一报表的动态分组 312 11.3 复杂的特征:创建迂回报表 316 11.3.1 查看前面的报表 318 11.3.2 "列”页面的属性 318 11.3.3 报表之后的工作 320 11.4 用动态列创建交叉表查询的报表 320 11.4.1 报表
使用
的按窗体查询 321 11.4.2 报表
使用
的交叉表查询 323 11.4.3 DynamicColumnsExample报表 325 11.5
使用
多项选择列表框选择多项打印主题 329 11.5.1 MultiSelectCategoryExample报表 329 11.5.2 多项选择列表框窗体 330 11.5.3 多项选择列表框窗体的程序清单 331 11.6 为选择分组依据项创建类似向导的界面 336 11.6.1 核心表:WizExReports和WizExElements 338 11.6.2
使用
WizExReports窗体 339 11.6.3 为新报表
使用
组元素向导 348 11.7 动态格式化报表 350 11.7.1 DynamicFormattingExample报表 350 11.7.2 报表的条件格式化 352 11.8 小 结 356 第12章 处理数据访问页 358 12.1 为什么
使用
数据访问页 358 12.1.1 理解数据访问页的结构化方式 359 12.1.2 浏览
控件
361 12.1.3 数据访问页与窗体和报表的比较 362 12.1.4 哪类用户需要数据访问页 364 12.2 省时的数据访问页向导 364 12.2.1
使用
“自动创建数据页:纵栏式” 364 12.2.2
使用
数据页向导 365 12.3 创建及完善简单的数据访问页 369 12.3.1 数据访问页的字段列表 369 12.3.2 添加超级链接 370 12.3.3 在数据访问页中
使用
表达式 374 12.3.4
使用
绑定的组合框和列表框 375 12.3.5
使用
主题格式化 378 12.3.6 数据访问页所
使用
的其他
控件
378 12.4 分组的数据访问页:Web报表 380 12.4.1 创建基本页 380 12.4.2 在数据访问页中创建关系 380 12.4.3 升级分组级别 381 12.4.4 添加页眉节 382 12.4.5 在分区带显示的数据访问页中查看数据层次 383 12.4.6
使用
组筛选
控件
的组合框 383 12.5 查找其他资源 385 12.6 小 结 385 第三部分 利用互操作性来扩展Access 387 第13章 用自动化功能和DDE驱动Office应用程序 389 13.1 理解自动化功能 389 13.2 检查Office产品的对象模型 390 13.3 应用自动化功能 391 13.3.1 在VBA中声明对象变量 392 13.3.2
使用
CreateObject()函数 394 13.3.3
使用
GetObject()函数 394 13.4 应用自动化功能从Access运
行
其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407 13.5
使用
自动化功能在Microsoft Project中驱动Access 410 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向Outlook中输入联系人 419 13.6.4 从Access中删除Outlook中的联系人 423 13.6.5 从Access中创建Outlook日历条目 424 13.7 用DDE调用其他应用程序 425 13.7.1 理解Access中用到的DDE命令 426 13.7.2 用DDE执
行
复杂的Word示例 429 13.8 小 结 432 第14章 编程实现ActiveX
控件
功能 433 14.1 理解ActiveX Windows通用
控件
433 14.1.1
使用
TabStrip
控件
434 14.1.2
使用
Access选项卡和
使用
ActiveX TabStrip
控件
的区别 436 14.2 ImageList
控件
详述 438 14.2.1 在设计阶段添加图像 438 14.2.2 在运
行
阶段向ImageList
控件
中添加图像 441 14.3 用ListView
控件
仿效Windows 95的资源管理器 443 14.3.1 查看ListView
控件
的不同视图 443 14.3.2 查看ListView
控件
的主要属性组 444 14.3.3 人工设置ListView
控件
445 14.3.4
使用
VBA创建和填充ListView
控件
446 14.4 应用ProgressBar
控件
显示任务的进程 448 14.4.1
使用
SysCmd()显示Access进度条 448 14.4.2
使用
ActiveX ProgressBar
控件
450 14.5
使用
Slider
控件
在运
行
阶段设置文本框尺寸 452 14.6 应用Microsoft Rich TextBox
控件
提供所见即所得的功能 455 14.6.1 Rich Textbox
控件
的属性 456 14.6.2 Microsoft Rich Textbox
控件
的代码 456 14.7 用StatusBar
控件
创建单独窗体的状态栏 459 14.7.1 StatusBar Panels集合的属性 460 14.7.2 在运
行
阶段设置StatusBar属性 461 14.8 用ToolBar
控件
丰富窗体上的工具栏 462 14.9 应用TreeView
控件
查看数据文件管理器的样式 465 14.10 小 结 469 第15章
使用
API调用来扩展Access功能 470 15.1 理解动态链接库 471 15.1.1 执
行
链接 471 15.1.2 内存管理 471 15.1.3 常用的DLL 471 15.2 检查API调用的语法 471 15.3 查找API的声明 474 15.4 查看可能的API调用 475 15.4.1
使用
API Viewer
定位
调用 475 15.4.2 剪切和粘贴API Viewer中的调用 476 15.4.3 在Win32api.txt文件中查找API调用 477 15.5
使用
API调用的注意事项 479 15.5.1 从头开始创建自己的API声明 479 15.5.2 将16位API调用转换为32位API调用 479 15.6 API调用的例子 480 15.6.1 查找可执
行
应用程序的文件 481 15.6.2 查看所
使用
的窗体 481 15.6.3 在Access中连接和断开网络驱动器 486 15.6.4 显示当前用户和计算机名 492 15.7 在应用程序中显示相关的文件夹 494 15.8
使用
Open File对话框的API调用 497 15.9 小 结 502 第16章
使用
类模块和集合来扩展VBA的库功能 503 16.1 第
一个
方案 503 16.1.1 Bookmark Tracker的特性 504 16.1.2 Bookmark Tracker的基本对象 505 16.1.3 开始
使用
类模块 506 16.1.4 用Bookmark Tracker来包装 519 16.2 管理同一窗体的多个实例 519 16.2.1 查看特征集 519 16.2.2 打开相同窗体的副本所
使用
的窗体 520 16.2.3 检查隔离相同窗体的多个副本所
使用
的代码 521 16.3 小 结 524 第17章 创建向导和加载项 525 17.1 理解Access向导、生成器和加载项 525 17.2 查看向导和加载项的注册表条目 526 17.3 创建自己的加载项 528 17.3.1
使用
Bookmark Tracker Wizard 529 17.3.2 在Access 2000中安装加载项 532 17.3.3 对Bookmark Tracker Wizard编程 535 17.3.4 结束向导 546 17.4
使用
Access代码库 553 17.4.1 代码库的优缺点 553 17.4.2 考虑库数据库的位置 553 17.4.3 设置库的引用 554 17.4.4 在“对象浏览器”中查看库例程 555 17.4.5 库编码问题 555 17.5 小 结 557 第18章
使用
VBA操作注册表 558 18.1 Windows注册表的历史 558 18.1.1 在应用程序中
使用
Windows注册表 559 18.1.2 组成注册表的部分 561 18.1.3 操作注册表的工具 562 18.2
使用
VBA中的注册表命令 564 18.3 用注册表的API调用来执
行
任务 570 18.3.1 处理多个后端数据库 571 18.3.2 样本应用程序 571 18.3.3
使用
实际代码 573 18.4 小 结 588 第19章 Access的Internet应用 589 19.1 Access的超级链接特征 589 19.1.1 操作未绑定的超级链接
控件
590 19.1.2 维护数据库的超级链接基础 594 19.1.3 查看超级链接数据类型 594 19.1.4
使用
IsHyperlink属性向界面添加超级链接 596 19.1.5 通过编程用Follow、FollowHyperlink以及HyperlinkPart方法
使用
超级链接……597 19.2 Access超级链接选项 601 19.3 向HTML文档导入和导出Access对象的简便方法 602 19.3.1
使用
“导出”来导出到HTML 602 19.3.2 导入和链接HTML文件 605 19.4 发布为其他Web文件格式 607 19.5 小 结 608 第四部分 添加专业外观和分布应用程序 609 第20章 编程Office命令栏和Office助手 611 20.1
使用
命令栏 611 20.1.1 "自定义”对话框的“工具栏”页 612 20.1.2 "自定义”对话框的“命令”页 613 20.1.3 "自定义”对话框的“选项”选项卡 614 20.1.4 通过用户界面创建工具栏 615 20.1.4 添加命令栏到窗体 620 20.2 通过VBA
使用
命令栏 621 20.2.1 检查命令栏对象模型 622 20.2.2 编程修改命令栏 622 20.3
使用
Office助手 629 20.3.1 Office助手对象模型 631 20.3.2
使用
Office助手作为窗体的帮助 631 20.4 FileSearch对象 639 20.4.1
使用
简单的例子 640 20.4.2
使用
FileSearch属性 641 20.4.3
使用
PropertyTests集合 642 20.4.4
使用
Property对象的复杂例子 644 20.5 小 结 647 第21章 应用程序安全性 648 21.1 保护应用程序安全的目的 648 21.1.1 保护敏感数据 649 21.1.2 保护开发人员的代码 649 21.2 Access 2000的安全性 649 21.2.1 system.mdw的模型和函数 649 21.2.2 共享级安全:数据库密码 650 21.2.3 用户级安全:Access真正的安全系统 651 21.2.4 用户和组 652 21.2.5 权限 652 21.2.6 我有权限吗 654 21.2.7 理解所有者 654 21.2.8 为添加的保护加密数据库 654 21.2.9 System.mdw文件 656 21.3 安全性用户界面 657 21.3.1
使用
PID、SID、WID和密码 657 21.3.2 创建新用户 659 21.3.3 创建新工作组 660 21.3.4 删除用户和组 661 21.3.5 向组中添加用户 661 21.3.6 为用户帐号添加密码 662 21.3.7 从用户帐号中删除密码 662 21.3.8 设置对象权限 663 21.3.9 保护VBE中的模块 664 21.3.10 设置数据库权限 665 21.3.11 改变对象的所有者 665 21.3.12 加密数据库 667 21.3.13 创建工作组信息文件 667 21.3.14 手工保护数据库 668 21.3.15 设置哪些权限 670 21.3.16 取消数据库安全保护 671 21.4 Access安全性的便利工具 671 21.4.1
使用
安全性向导 672 21.4.2 在Access中打印用户和组 672 21.4.3 读取安全性白皮书 672 21.4.4
使用
其他安全性资源 673 21.5 避免Access安全性的常见陷阱 673 21.5.1 设计安全 673 21.5.2 用默认帐号创建对象 673 21.5.3 多用户环境中保护链接表 674 21.5.4 用所有者权限运
行
674 21.5.5 同步复制环境的安全性 675 21.5.6 用Microsoft Office Developer发布安全的应用程序 675 21.5.7 创建.mde文件发布安全的应用程序 676 21.6 用代码管理安全性 676 21.6.1
使用
DAO进
行
安全性编程 676 21.6.2 通过代码创建新用户 678 21.6.3 通过代码删除用户 679 21.6.4 通过代码设置数据库密码 680 21.6.5 通过代码创建组 681 21.6.6 通过代码删除组 682 21.6.7 通过代码添加用户到组 683 21.6.8 通过代码创建对象的所有者 685 21.6.9 通过代码为对象设置权限 686 21.6.10 通过代码检查权限 687 21.6.11 通过代码确定登录身份 689 21.6.12 拒绝用户创建数据库的能力 689 21.6.13 拒绝表和查询对象的创建 691 21.6.14 通过代码压缩、加密和解密数据库 692 21.6.15 通过代码禁用特殊键 692 21.7
使用
安全的样本数据库:Chap21s.mdb 694 21.8 小 结 694 第五部分 管理数据库 697 第22章 处理多用户环境 699 22.1 多用户术语 699 22.2 Access多用户处理 700 22.2.1 默认记录锁定 701 22.2.2 默认打开模式:共享与独占 701 22.2.3
更新
重试的次数 703 22.2.4 ODBC刷新间隔 703 22.2.5 刷新间隔 704 22.2.6
更新
重试时间间隔 704 22.3 一
两个
数据库包容器:知道放置的位置 704 22.3.1 各组件去向概述 704 22.3.2 拆分数据库的优缺点 705 22.3.3 手工拆分数据库 707 22.3.4
使用
数据库拆分器向导 707 22.4 内建锁定模式 708 22.4.1
使用
记录与页级锁定 709 22.4.2 锁定所有记录 710 22.4.3 锁定编辑记录 710 22.4.4
使用
“不锁定”锁定模式 711 22.4.5 在VBA中
使用
锁定模式 711 22.4.6
使用
可选锁定方案 712 22.5 在VBA中
使用
非绑定窗体 713 22.5.1 为处理非绑定窗体创建例程 714 22.5.2
使用
样本窗体的步骤 716 22.5.3
使用
支持例程 718 22.5.4 处理DAO版本 720 22.5.5 设置样本应用程序的
ADO
版本 736 22.6 多用户
错误
处理编程 747 22.7 用
ADO
获取登录用户列表 751 22.8 小 结 753 第23章 数据库同步复制 755 23.1 数据库同步复制的概念 756 23.1.1 同步复制设计目标 756 23.1.2 典型的同步复制应用程序 757 23.2 Jet同步复制工具 757 23.2.1 公文包 757 23.2.2 Access菜单 759 22.2.3 Replication Manager 760 23.2.4 JRO编程 761 23.3 数据库转换为副本 761 23.4 同步副本 766 23.4.1 设计母版和副本 767 23.4.2 恢复设计母版 768 23.4.3 同步复制可视化 768 23.4.4 同步复制系统的列、表及其他问题 769 23.4.5
使用
副本集 770 23.5 副本集拓扑 771 23.5.1 单连接列表 771 23.5.2 星型和中心拓扑 771 23.6 星型和中心自动同步 772 23.7 分布可同步复制的应用程序 774 23.7.1
使用
可同步复制的和非可同步复制的对象 774 23.7.2 部分副本 775 23.8 同步复制后端和前端应用程序 778 23.9 处理同步复制冲突 779 23.9.1 数据冲突 779 23.9.2
使用
Access冲突解决器 780 23.9.3
使用
另
一个
冲突解决算法 782 23.9.4 各种同步复制冲突 785 23.10 复制同步器 786 23.10.1 同步阶段 791 23.10.2 直接和间接同步 791 23.10.3 预定和随选同步 791 23.10.4 在Internet上同步副本 792 23.10.5 处理计数字段 792 23.10.6
使用
同步复制的只读属性 793 23.10.7 执
行
同步复制鉴别修正 794 23.10.8
使用
最后的同步伙伴 794 23.10.9 对同步复制的数据库
使用
压缩工具 795 23.10.10 确定是否备份副本 795 23.11 副本集从Access 97升级为Access 2000 795 23.12 保护同步复制的应用程序 796 23.13 同步复制数据库
使用
MDE文件 796 23.14 创建成功的同步复制应用程序 796 23.15 小 结 797 第24章 应用程序移到客户/服务器 798 24.1 了解客户/服务器 798 24.1.1 客户/服务器术语解释 799 24.1.2 利用ODBC 799 24.1.3 客户/服务器中
使用
Access的原因 800 24.2 迁移到客户/服务器的考虑因素 801 24.2.1 数据量 801 24.2.2 数据库的
使用
和用处 803 24.2.3 数据库设计 803 24.2.4 同时
使用
及用户数量 803 24.2.5 备份与恢复 803 24.2.6 安全性 804 24.2.7 应用程序间的数据共享 804 24.2.8 网络传输 804 24.2.9 记录集合 805 24.2.10 选择合适的系统 805 24.3 制订客户/服务器计划 805 24.3.1 字段和表的名称 806 24.3.2 保留字 806 24.3.3 区分字母大小写 807 24.3.4 服务器上的查询处理 807 24.4 应用程序开发过程的注意事项 808 24.4.1 限定数据 809 24.4.2
使用
组合框 809 24.4.3
使用
Access特定函数和用户自定义函数 810 24.4.4 创建异构联接及交叉数据库联接 810 24.4.5 处理OLE对象 810 24.4.6
使用
本地表获取静态信息 811 24.5 转换现有的应用程序 811 24.5.1 从设计合理的数据库开始 811 24.5.2
使用
时间戳字段 812 24.5.3 清理查询 812 24.5.4 重做窗体 813 24.5.5 开发高级应用程序 814 24.5.6 利用当前的Access安全性 817 24.5.7 升迁Access数据库 817 24.5.8
使用
升迁工具 821 24.6 分布客户/服务器解决方案 824 24.6.1 编程设置ODBC数据源 825 24.6.2 用服务器脚本重新创建SQL数据库 828 24.6.3 向SQL Server加载现有的数据 829 24.7 Access和SQL Server的注意事项 829 24.8 小 结 830 第25章 用ADPs开发SQL Server项目 831 25.1 项目文件结构 832 25.1.1 介绍OLE DB 832 25.1.2 链接到数据 832 25.1.3 数据链接和Access项目 833 25.1.4 数据链接和VBA代码 834 25.1.5 Microsoft数据引擎 837 25.1.6 SQL Server上的对象 837 25.2 创建过程 839 25.2.1 创建新项目 839 25.2.2 项目属性 842 25.2.3 确保项目安全 843 25.3 创建客户/服务器应用程序 844 25.3.1
使用
表 845 25.3.2 对象的命名约定 847 25.3.3 SQL Server的数据类型 848 25.3.4
使用
约束 850 25.3.5
使用
触发器 856 25.3.6 优化数据访问 858 25.4
使用
视图 859 25.5
使用
存储过程 862 25.5.1 创建存储过程 863 25.5.2 比较存储过程和Access语法 866 25.6 小 结 868 第六部分 添加最终的交互 869 第26章
使用
DAO的启动检查系统例程 871 26.1 执
行
启动系统检查 872 26.2
使用
定制数据库属性 877 26.2.1 通过用户界面创建数据库属性 877 26.2.2 从VBA访问定制数据库属性 878 26.3 通知和记录用户退出应用程序 879 26.3.1 启动时让用户退出 880 26.3.2 在应用程序运
行
中记录用户退出 881 26.3.3 设置标志文件让用户退出后端 885 26.3.4 启动时测试链接表的链接 888 26.4 通过VBA链接和解除链接表 889 26.4.1 链接和解除链接位于应用程序文件夹中Jet后端的表 890 26.4.2 用OpenFile API调用查找Jet后端 894 26.5 测试和修复损坏的Jet后端数据库 897 26.6 检查并通知用户新版本的情况 904 26.7 小 结 907 第27章
使用
ADO
的启动检查系统例程 908 27.1 执
行
启动系统检查 909 27.2 采用
ADO
设置和检索系统的设置 914 27.3 在启动时测试链接表的连接 915 27.4 通过VBA和
ADO
链接表 917 27.5 测试和修复损坏的Jet后端数据库 921 27.6
使用
ADO
复制代码表 925 27.7 小 结 929 第28章 创建维护例程 930 28.1 创建导出对话框导出应用程序的表 930 28.1.1 实用工具的演示 930 28.1.2 查看组成导出实用工具的部件 931 28.1.3 查看创建导出实用工具的代码 935 28.2 根据需要压缩和修复后端 937 28.3 创建通用代码表编辑器 942 28.4 后端复制表到前端以获取更好的性能 944 28.4.1 创建复制表编辑器 945 28.4.2 复制半静态数据的启动例程 954 28.5 小 结 960 第七部分 附录 961 附录A 在Access 2000中调试代码 963 A.1 设置正确的模块选项以发挥最大的调试能力 963 A.2 利用立即窗口 967 A.2.1 从应用程序向立即窗口显示数据 967 A.2.2 在立即窗口中显示数据 968 A.2.3 在立即窗口中给变量和对象赋值 968 A.2.4 从立即窗口运
行
代码 969 A.3 终止程序运
行
970 A.3.1
使用
Stop语句 971 A.3.2
使用
断点 971 A.3.3
使用
Debug.Assert 972 A.4 单步调试 972 A.4.1 按
行
“逐语句”运
行
代码 972 A.4.2 用“逐过程”越过代码 973 A.4.3 用“跳出”命令离开例程 973 A.4.4 "运
行
到光标处”命令略过已检验的代码 973 A.5 查看过程调用顺序 973 A.6 程序运
行
期间监视表达式 974 A.6.1 本地窗口 975 A.6.2 用“快速监视”对话框快速监视 977 A.6.3 在监视窗口中添加和查看表达式 978 A.6.4 设置断点条件和编辑表达式 979 A.7 用条件编译命令控制代码 981 A.8 小 结 983 附录B ActiveX初步 984 B.1
使用
ActiveX
控件
984 B.1.1 Access附带的ActiveX
控件
985 B.1.2 在窗体上放置ActiveX
控件
985 B.1.3 设计期间设置ActiveX
控件
的属性 987 B.2 用日历
控件
计算天数 988 B.2.1 日历ActiveX
控件
的属性 989 B.2.2 用日历
控件
设计VBA 992 B.3 通过Common Dialog ActiveX
控件
使用
标准界面 994 B.3.1 用Common Dialog
控件
查找文件 996 B.3.2 用Common Dialog ActiveX
控件
改变默认的系统打印机 997 B.4 小 结 998 附录C Access 2000和Jet4的
错误
999 附录D Microsoft Access LESZYNSKI命名约定 1076 D.1 命名约定初步 1077 D.2 Access对象类型 1078 D.3 对象名的结构 1079 D.3.1 什么是前缀 1079 D.3.2 什么是标记 1080 D.3.3 什么是基本名称 1080 D.3.4 什么是限定符 1080 D.3.5 什么是后缀 1081 D.4 创建数据库对象基本名称 1081 D.4.1 基本名称规则 1082 D.4.2 基本名称长度限制 1082 D.4.3 复合基本名称 1083 D.4.4 字段基本名称 1083 D.4.5 基本名称元素的顺序 1085 D.5 数据库对象的命名约定 1085 D.5.1 数据库窗口对象的标记 1086 D.5.2 窗体和报表
控件
对象的标记 1088 D.5.3 数据库对象的前缀 1091 D.5.4
使用
菜单宏 1092 D.5.5 数据库对象名样例 1093 D.6 创建VBA对象基本名称 1093 D.6.1 VBA对象基本名称的规则 1094 D.6.2 VBA对象基本名称长度 1094 D.6.3 复合VBA 对象基本名称 1094 D.7 VBA对象的命名约定 1095 D.7.1 变量的标记 1095 D.7.2 变量的前缀 1100 D.7.3 常量命名 1101 D.7.4 过程的标记和前缀 1102 D.7.5 用宏代替VBA 1102 D.7.6 Visual Basic对象名示例 1103 D.8 创建自己的标记 1103 D.9 VBA编码约定 1105 D.9.1 编码注释 1105 D.9.2 处理
错误
1105 D.10 标准缩写 1106 D.11 标准术语 1108 D.12 LNC的补充信息 1109 D.12.1 如何得到LNC 1109 D.12.2 发送反馈 1109 D.12.3 作者简介 1109 光盘
使用
约定 1111 配套光盘内容 1113
Access 2000中文版高级编程(part1)
Access2000中文版高级编程 目录 第一部分 编程基础 1 第1章 宏与代码 3 1.1 何时
使用
代码代替宏 4 1.1.1 何时用宏 4 1.1.2 何时用代码 4 1.2 宏到代码的转换 5 1.2.1
使用
DoCmd对象 5 1.2.2 与宏命令等价的代码 7 1.3 将现有宏转换为代码 8 1.4 小 结 12 第2章
使用
VBA编写代码 13 2.1 编程初步 13 2.1.1
使用
代码模块 14 2.1.2 声明变量 17 2.1.3 声明过程 21 2.1.4 控制程序流 27 2.1.5 代码注释 30 2.1.6
错误
处理 30 2.1.7 本书的编程风格 31 2.2 VBA初步 31 2.2.1 对象基础 31 2.2.2
使用
对象浏览器 32 2.3
使用
对象编程 34 2.3.1 关键字Public 35 2.3.2 关键字Private 35 2.4
使用
属性和方法 35 2.4.1
使用
现有的属性 35 2.4.2
使用
现有的方法 38 2.4.3
使用
命名参数 38 2.4.4 将对象赋值给变量 39 2.5
使用
集合 41 2.5.1 计算元素的数量 42 2.5.2 访问集合元素 42 2.5.3 对集合元素循环 43 2.6 定制窗体 44 2.6.1 编写定制的属性 45 2.6.2 编写值为对象的属性 48 2.6.3 编写定制的方法 48 2.7 编写类模块 49 2.7.1 创建外界支持的对象 49 2.7.2 创建类模块 50 2.7.3
使用
类模块 52 2.8 小 结 54 第3章 做出选择:MDB或ADP,DAO或
ADO
55 3.1
使用
MDB还是ADP 55 3.1.1 两者各自用到的对象 56 3.2
使用
DAO还是
ADO
58 3.3 小 结 60 第4章
使用
Access集合 61 4.1 创建定制的集合 61 4.1.1 定义新集合 62 4.1.2 添加集合元素 62 4.1.3 删除集合元素 63 4.2 比较定制的集合和数组 64 4.2.1 创建整数集合 64 4.2.2 创建整数数组 65 4.2.3 集合的高级用法 66 4.3 访问Access对象模型 66 4.3.1
使用
Application对象 67 4.3.2
使用
References集合 80 4.3.3
使用
Forms和Reports集合 80 4.4 通过编程实现同一窗体的多个副本 83 4.4.1 支持多窗体实例 84 4.4.2 检查Employees窗体的代码 84 4.4.3 自动关闭Employees窗体 86 4.5 小 结 87 第5章
使用
DAO 88 5.1 理解DAO 88 5.1.1 了解数据库的内部构造 89 5.1.2 DAO初步 90 5.1.3 进入数据库 90 5.1.4 检查数据库 92 5.1.5 检查表的属性 93 5.1.6 检查查询类型 94 5.2
使用
DAO创建数据库 95 5.2.1 创建Database对象 96 5.2.2 复制表结构 99 5.2.3
使用
Field对象 102 5.2.4 复制查询 102 5.2.5 复制关系 104 5.2.6 复制数据 106 5.3
使用
事务加快处理速度 108 5.4
使用
定制的属性 109 5.5 小 结 111 第6章 ActiveX数据库对象 112 6.1 查看对象模型 112 6.1.1
ADO
DB 2.1对象模型 114 6.1.2
ADO
X 2.1 for DDL and Security对象模型 115 6.1.3 JRO 2.1对象模型 115 6.2 引用类型库 115 6.3 打开数据库的连接 118 6.3.1 与当前数据库连接 118 6.3.2 与另
一个
数据库连接 119 6.4
使用
ADO
创建记录集 120 6.4.1 打开简单的记录集 120 6.4.2 循环搜索和编辑记录集 122 6.4.3 创建永久记录集 124 6.4.4
使用
RecordCount, BOF和EOF属性 125 6.4.5 检查记录集支持的操作 126 6.4.6 复制记录集 126 6.4.7 书签 126 6.5
使用
ADO
查询 127 6.5.1 创建新查询 127 6.5.2 创建参数查询 128 6.5.3 针对参数查询打开记录集 128 6.5.4 执
行
批量查询 129 6.5.5 修改现有的查询 130 6.5.6 删除查询 131 6.6 用
ADO
操作表 131 6.6.1 查看Tables集合 131 6.6.2
使用
字段和索引创建新表 133 6.6.3 通过加入索引来修改现有表 136 6.7 小 结 136 第7章
使用
VBA处理Access中的
错误
138 7.1 Access中的
错误
消息 138 7.2
使用
错误
处理程序的不同方法 139 7.3 Access运
行
阶段时的
错误
处理 139 7.3.1
使用
On Error命令 139 7.3.2
使用
Exit Sub|Function命令 141 7.3.3
使用
Resume, Resume Next和Resume LineLabel 141 7.4
使用
ERR和 ERROR对象 145 7.4.1 Err对象的Clear方法 145 7.4.2 Err对象的Raise方法 146 7.5
使用
Errors集合 149 7.6 创建用户定义的
错误
154 7.7
使用
定制的
错误
日志追踪
错误
156 7.7.1
错误
日志例程的声明节 156 7.7.2 调用
错误
日志的
错误
处理程序的示例 157 7.7.3 每个
错误
的跟踪信息 158 7.7.4 检查实际的
错误
日志代码 159 7.7.5 首先记录到后端,必要时记录到前端 162 7.7.6
使用
错误
处理程序
更新
后端 163 7.8 创建集中式
错误
处理例程 165 7.9
错误
处理问题的最后回顾 171 7.9.1 注意环境开关 171 7.9.2
使用
错误
处理程序回卷事务 174 7.9.3
使用
窗体的On Error事件 175 7.9.4 嵌套
错误
处理程序 177 7.9.5
错误
处理的新选项 177 7.10 小 结 178 第二部分 操作和显示数据 179 第8章 用查询最大限度地利用数据 181 8.1 Access
使用
查询的位置 181 8.1.1 在窗体或报表的记录源属性中
使用
查询 182 8.1.2 设置用户
使用
查询的权限 183 8.1.3
使用
命名约定和查询文档 185 8.2 运用选择查询:
使用
查询设计网格 187 8.2.1 表的联接 188 8.2.2 同
一个
表
使用
两次(自联接) 189 8.2.3
使用
Access的自动查阅功能 191 8.3 运用操作查询:力量的源泉 193 8.3.1 生成表查询(SELECT INTO) 193 8.3.2 追加查询 194 8.3.3
更新
查询(UPDATE..SET) 195 8.3.4 删除查询(DELETE) 195 8.4
使用
高级的查询操作 195 8.4.1 总计查询 195 8.4.2 在单独或所有选项中
使用
联合查询 198 8.4.3 嵌套查询 198 8.4.4 子查询 200 8.4.5 产生关于对象的查询(DDL) 200 8.5 用VBA增强功能 200 8.5.1 用VBA创建更快的查询 200 8.5.2 窗体查询 201 8.5.3 生成临时的查询对象QueryDef 210 8.5.4
使用
DoCmd对象的RunSQL方法 211 8.5.5 在VBA中实现参数查询 211 8.6 用查询产生报表与窗体 212 8.7 用查询解决问题 213 8.7.1 分组以获得百分比 213 8.7.2 查找并删除重复的记录 215 8.7.3 用组的嵌套彻底解决问题 217 8.7.4 区分新旧记录 217 8.7.5 在交叉表查询中
使用
“总计”
行
220 8.8 查询过程的结构 224 8.8.1 定义查询 224 8.8.2 编译 224 8.8.3 准备执
行
计划(优化) 225 8.9 Jet的优化方法 225 8.9.1 应用Rushmore技术 225 8.9.2 检查群聚的基本索引 226 8.9.3
使用
预读功能 228 8.9.4 用SetOption命令在注册表中设置Jet 228 8.10 优化技术 230 8.10.1 用表关系提高性能 230 8.10.2 添加索引 230 8.10.3 改变数据库结构以提高性能 231 8.10.4 优化联接性能 232 8.11
使用
非常规的优化技术 232 8.11.1 性能调整的陷阱 232 8.11.2 诊断慢速查询 232 8.11.3 用查询设计网格以解决模糊字段的引用问题 233 8.12
使用
分析器向导 233 8.12.1 表分析器向导 234 8.12.2 性能分析器向导 234 8.12.3 文档管理器 236 8.13 小 结 236 第9章 创建功能强大的窗体 237 9.1 增强窗体性能 237 9.1.1 增强窗体性能 237 9.2
使用
Access 2000最新的窗体特性 238 9.2.1
使用
窗体的记录集属性 238 9.2.2
使用
Dirty事件 240 9.3 利用其他窗体特性 241 9.3.1 指定启动的Splash Screen窗体 241 9.3.2
使用
窗体的背景属性 241 9.4 利用Openargs和tab属性重用窗体执
行
标准任务 244 9.5 增强选项卡窗体的性能 254 9.6 小 结 256 第10章 用
控件
扩展窗体的功能 257 10.1 为窗体中的字段设置查阅属性 257 10.2 充分利用组合框 259 10.2.1
使用
组合框向导 259 10.2.2 在向导外对组合框编程 261 10.2.3
使用
联合查询以显示
一个
或所有记录 263 10.2.4 在子窗体中
使用
SQL的UNION语句查询所有记录 266 10.2.5 在组合框
控件
外显示组合框的列 268 10.2.6 根据用户的输入添加新的组合框选项 271 10.3
使用
本机的Access选项卡
控件
273 10.3.1 本机的选项卡
控件
概述 273 10.3.2 创建并编辑新的选项卡
控件
275 10.3.3 在选项卡
控件
中移动页 277 10.3.4 在选项卡页上添加
控件
278 10.3.5 为选项卡
控件
编程 279 10.4 更改Access
控件
280 10.4.1 在窗体设计的时候,更改Access
控件
281 10.4.2 在运
行
的时候,
使用
VBA更改
控件
281 10.5 对多重选择列表框编程 284 10.5.1 与多重选择有关的列表框属性 284 10.5.2 在多重选择列表框中
使用
VBA来操作选中项 285 10.6
使用
子窗体、子报表向导 291 10.7 对
控件
提供电子表格的光标移动方式 292 10.7.1 研究问题 292 10.7.2 解决问题 293 10.8 用代码操纵
控件
297 10.8.1 检查选项组菜单窗体的组成 297 10.8.2 ManipulatingControlsExample窗体 298 10.8.3 查看窗体后面的代码 299 10.9 小 结 304 第11章 创建强大的报表 305 11.1 对汇总、细节以及综合这二者的报表建立同一报表 305 11.2 用按窗体查询来创建同一报表的动态分组 312 11.3 复杂的特征:创建迂回报表 316 11.3.1 查看前面的报表 318 11.3.2 "列”页面的属性 318 11.3.3 报表之后的工作 320 11.4 用动态列创建交叉表查询的报表 320 11.4.1 报表
使用
的按窗体查询 321 11.4.2 报表
使用
的交叉表查询 323 11.4.3 DynamicColumnsExample报表 325 11.5
使用
多项选择列表框选择多项打印主题 329 11.5.1 MultiSelectCategoryExample报表 329 11.5.2 多项选择列表框窗体 330 11.5.3 多项选择列表框窗体的程序清单 331 11.6 为选择分组依据项创建类似向导的界面 336 11.6.1 核心表:WizExReports和WizExElements 338 11.6.2
使用
WizExReports窗体 339 11.6.3 为新报表
使用
组元素向导 348 11.7 动态格式化报表 350 11.7.1 DynamicFormattingExample报表 350 11.7.2 报表的条件格式化 352 11.8 小 结 356 第12章 处理数据访问页 358 12.1 为什么
使用
数据访问页 358 12.1.1 理解数据访问页的结构化方式 359 12.1.2 浏览
控件
361 12.1.3 数据访问页与窗体和报表的比较 362 12.1.4 哪类用户需要数据访问页 364 12.2 省时的数据访问页向导 364 12.2.1
使用
“自动创建数据页:纵栏式” 364 12.2.2
使用
数据页向导 365 12.3 创建及完善简单的数据访问页 369 12.3.1 数据访问页的字段列表 369 12.3.2 添加超级链接 370 12.3.3 在数据访问页中
使用
表达式 374 12.3.4
使用
绑定的组合框和列表框 375 12.3.5
使用
主题格式化 378 12.3.6 数据访问页所
使用
的其他
控件
378 12.4 分组的数据访问页:Web报表 380 12.4.1 创建基本页 380 12.4.2 在数据访问页中创建关系 380 12.4.3 升级分组级别 381 12.4.4 添加页眉节 382 12.4.5 在分区带显示的数据访问页中查看数据层次 383 12.4.6
使用
组筛选
控件
的组合框 383 12.5 查找其他资源 385 12.6 小 结 385 第三部分 利用互操作性来扩展Access 387 第13章 用自动化功能和DDE驱动Office应用程序 389 13.1 理解自动化功能 389 13.2 检查Office产品的对象模型 390 13.3 应用自动化功能 391 13.3.1 在VBA中声明对象变量 392 13.3.2
使用
CreateObject()函数 394 13.3.3
使用
GetObject()函数 394 13.4 应用自动化功能从Access运
行
其他应用程序 395 13.4.1 在Access中调用Word 396 13.4.2 在Access中调用Excel 402 13.4.3 在Access中调用Microsoft Graph 404 13.4.4 在Access中调用Microsoft Project 407 13.5
使用
自动化功能在Microsoft Project中驱动Access 410 13.6 应用自动化功能在Access中调用Outlook 415 13.6.1 创建Outlook邮件项目 416 13.6.2 在Access中创建Outlook任务项 417 13.6.3 从Access中向Outlook中输入联系人 419 13.6.4 从Access中删除Outlook中的联系人 423 13.6.5 从Access中创建Outlook日历条目 424 13.7 用DDE调用其他应用程序 425 13.7.1 理解Access中用到的DDE命令 426 13.7.2 用DDE执
行
复杂的Word示例 429 13.8 小 结 432 第14章 编程实现ActiveX
控件
功能 433 14.1 理解ActiveX Windows通用
控件
433 14.1.1
使用
TabStrip
控件
434 14.1.2
使用
Access选项卡和
使用
ActiveX TabStrip
控件
的区别 436 14.2 ImageList
控件
详述 438 14.2.1 在设计阶段添加图像 438 14.2.2 在运
行
阶段向ImageList
控件
中添加图像 441 14.3 用ListView
控件
仿效Windows 95的资源管理器 443 14.3.1 查看ListView
控件
的不同视图 443 14.3.2 查看ListView
控件
的主要属性组 444 14.3.3 人工设置ListView
控件
445 14.3.4
使用
VBA创建和填充ListView
控件
446 14.4 应用ProgressBar
控件
显示任务的进程 448 14.4.1
使用
SysCmd()显示Access进度条 448 14.4.2
使用
ActiveX ProgressBar
控件
450 14.5
使用
Slider
控件
在运
行
阶段设置文本框尺寸 452 14.6 应用Microsoft Rich TextBox
控件
提供所见即所得的功能 455 14.6.1 Rich Textbox
控件
的属性 456 14.6.2 Microsoft Rich Textbox
控件
的代码 456 14.7 用StatusBar
控件
创建单独窗体的状态栏 459 14.7.1 StatusBar Panels集合的属性 460 14.7.2 在运
行
阶段设置StatusBar属性 461 14.8 用ToolBar
控件
丰富窗体上的工具栏 462 14.9 应用TreeView
控件
查看数据文件管理器的样式 465 14.10 小 结 469 第15章
使用
API调用来扩展Access功能 470 15.1 理解动态链接库 471 15.1.1 执
行
链接 471 15.1.2 内存管理 471 15.1.3 常用的DLL 471 15.2 检查API调用的语法 471 15.3 查找API的声明 474 15.4 查看可能的API调用 475 15.4.1
使用
API Viewer
定位
调用 475 15.4.2 剪切和粘贴API Viewer中的调用 476 15.4.3 在Win32api.txt文件中查找API调用 477 15.5
使用
API调用的注意事项 479 15.5.1 从头开始创建自己的API声明 479 15.5.2 将16位API调用转换为32位API调用 479 15.6 API调用的例子 480 15.6.1 查找可执
行
应用程序的文件 481 15.6.2 查看所
使用
的窗体 481 15.6.3 在Access中连接和断开网络驱动器 486 15.6.4 显示当前用户和计算机名 492 15.7 在应用程序中显示相关的文件夹 494 15.8
使用
Open File对话框的API调用 497 15.9 小 结 502 第16章
使用
类模块和集合来扩展VBA的库功能 503 16.1 第
一个
方案 503 16.1.1 Bookmark Tracker的特性 504 16.1.2 Bookmark Tracker的基本对象 505 16.1.3 开始
使用
类模块 506 16.1.4 用Bookmark Tracker来包装 519 16.2 管理同一窗体的多个实例 519 16.2.1 查看特征集 519 16.2.2 打开相同窗体的副本所
使用
的窗体 520 16.2.3 检查隔离相同窗体的多个副本所
使用
的代码 521 16.3 小 结 524 第17章 创建向导和加载项 525 17.1 理解Access向导、生成器和加载项 525 17.2 查看向导和加载项的注册表条目 526 17.3 创建自己的加载项 528 17.3.1
使用
Bookmark Tracker Wizard 529 17.3.2 在Access 2000中安装加载项 532 17.3.3 对Bookmark Tracker Wizard编程 535 17.3.4 结束向导 546 17.4
使用
Access代码库 553 17.4.1 代码库的优缺点 553 17.4.2 考虑库数据库的位置 553 17.4.3 设置库的引用 554 17.4.4 在“对象浏览器”中查看库例程 555 17.4.5 库编码问题 555 17.5 小 结 557 第18章
使用
VBA操作注册表 558 18.1 Windows注册表的历史 558 18.1.1 在应用程序中
使用
Windows注册表 559 18.1.2 组成注册表的部分 561 18.1.3 操作注册表的工具 562 18.2
使用
VBA中的注册表命令 564 18.3 用注册表的API调用来执
行
任务 570 18.3.1 处理多个后端数据库 571 18.3.2 样本应用程序 571 18.3.3
使用
实际代码 573 18.4 小 结 588 第19章 Access的Internet应用 589 19.1 Access的超级链接特征 589 19.1.1 操作未绑定的超级链接
控件
590 19.1.2 维护数据库的超级链接基础 594 19.1.3 查看超级链接数据类型 594 19.1.4
使用
IsHyperlink属性向界面添加超级链接 596 19.1.5 通过编程用Follow、FollowHyperlink以及HyperlinkPart方法
使用
超级链接……597 19.2 Access超级链接选项 601 19.3 向HTML文档导入和导出Access对象的简便方法 602 19.3.1
使用
“导出”来导出到HTML 602 19.3.2 导入和链接HTML文件 605 19.4 发布为其他Web文件格式 607 19.5 小 结 608 第四部分 添加专业外观和分布应用程序 609 第20章 编程Office命令栏和Office助手 611 20.1
使用
命令栏 611 20.1.1 "自定义”对话框的“工具栏”页 612 20.1.2 "自定义”对话框的“命令”页 613 20.1.3 "自定义”对话框的“选项”选项卡 614 20.1.4 通过用户界面创建工具栏 615 20.1.4 添加命令栏到窗体 620 20.2 通过VBA
使用
命令栏 621 20.2.1 检查命令栏对象模型 622 20.2.2 编程修改命令栏 622 20.3
使用
Office助手 629 20.3.1 Office助手对象模型 631 20.3.2
使用
Office助手作为窗体的帮助 631 20.4 FileSearch对象 639 20.4.1
使用
简单的例子 640 20.4.2
使用
FileSearch属性 641 20.4.3
使用
PropertyTests集合 642 20.4.4
使用
Property对象的复杂例子 644 20.5 小 结 647 第21章 应用程序安全性 648 21.1 保护应用程序安全的目的 648 21.1.1 保护敏感数据 649 21.1.2 保护开发人员的代码 649 21.2 Access 2000的安全性 649 21.2.1 system.mdw的模型和函数 649 21.2.2 共享级安全:数据库密码 650 21.2.3 用户级安全:Access真正的安全系统 651 21.2.4 用户和组 652 21.2.5 权限 652 21.2.6 我有权限吗 654 21.2.7 理解所有者 654 21.2.8 为添加的保护加密数据库 654 21.2.9 System.mdw文件 656 21.3 安全性用户界面 657 21.3.1
使用
PID、SID、WID和密码 657 21.3.2 创建新用户 659 21.3.3 创建新工作组 660 21.3.4 删除用户和组 661 21.3.5 向组中添加用户 661 21.3.6 为用户帐号添加密码 662 21.3.7 从用户帐号中删除密码 662 21.3.8 设置对象权限 663 21.3.9 保护VBE中的模块 664 21.3.10 设置数据库权限 665 21.3.11 改变对象的所有者 665 21.3.12 加密数据库 667 21.3.13 创建工作组信息文件 667 21.3.14 手工保护数据库 668 21.3.15 设置哪些权限 670 21.3.16 取消数据库安全保护 671 21.4 Access安全性的便利工具 671 21.4.1
使用
安全性向导 672 21.4.2 在Access中打印用户和组 672 21.4.3 读取安全性白皮书 672 21.4.4
使用
其他安全性资源 673 21.5 避免Access安全性的常见陷阱 673 21.5.1 设计安全 673 21.5.2 用默认帐号创建对象 673 21.5.3 多用户环境中保护链接表 674 21.5.4 用所有者权限运
行
674 21.5.5 同步复制环境的安全性 675 21.5.6 用Microsoft Office Developer发布安全的应用程序 675 21.5.7 创建.mde文件发布安全的应用程序 676 21.6 用代码管理安全性 676 21.6.1
使用
DAO进
行
安全性编程 676 21.6.2 通过代码创建新用户 678 21.6.3 通过代码删除用户 679 21.6.4 通过代码设置数据库密码 680 21.6.5 通过代码创建组 681 21.6.6 通过代码删除组 682 21.6.7 通过代码添加用户到组 683 21.6.8 通过代码创建对象的所有者 685 21.6.9 通过代码为对象设置权限 686 21.6.10 通过代码检查权限 687 21.6.11 通过代码确定登录身份 689 21.6.12 拒绝用户创建数据库的能力 689 21.6.13 拒绝表和查询对象的创建 691 21.6.14 通过代码压缩、加密和解密数据库 692 21.6.15 通过代码禁用特殊键 692 21.7
使用
安全的样本数据库:Chap21s.mdb 694 21.8 小 结 694 第五部分 管理数据库 697 第22章 处理多用户环境 699 22.1 多用户术语 699 22.2 Access多用户处理 700 22.2.1 默认记录锁定 701 22.2.2 默认打开模式:共享与独占 701 22.2.3
更新
重试的次数 703 22.2.4 ODBC刷新间隔 703 22.2.5 刷新间隔 704 22.2.6
更新
重试时间间隔 704 22.3 一
两个
数据库包容器:知道放置的位置 704 22.3.1 各组件去向概述 704 22.3.2 拆分数据库的优缺点 705 22.3.3 手工拆分数据库 707 22.3.4
使用
数据库拆分器向导 707 22.4 内建锁定模式 708 22.4.1
使用
记录与页级锁定 709 22.4.2 锁定所有记录 710 22.4.3 锁定编辑记录 710 22.4.4
使用
“不锁定”锁定模式 711 22.4.5 在VBA中
使用
锁定模式 711 22.4.6
使用
可选锁定方案 712 22.5 在VBA中
使用
非绑定窗体 713 22.5.1 为处理非绑定窗体创建例程 714 22.5.2
使用
样本窗体的步骤 716 22.5.3
使用
支持例程 718 22.5.4 处理DAO版本 720 22.5.5 设置样本应用程序的
ADO
版本 736 22.6 多用户
错误
处理编程 747 22.7 用
ADO
获取登录用户列表 751 22.8 小 结 753 第23章 数据库同步复制 755 23.1 数据库同步复制的概念 756 23.1.1 同步复制设计目标 756 23.1.2 典型的同步复制应用程序 757 23.2 Jet同步复制工具 757 23.2.1 公文包 757 23.2.2 Access菜单 759 22.2.3 Replication Manager 760 23.2.4 JRO编程 761 23.3 数据库转换为副本 761 23.4 同步副本 766 23.4.1 设计母版和副本 767 23.4.2 恢复设计母版 768 23.4.3 同步复制可视化 768 23.4.4 同步复制系统的列、表及其他问题 769 23.4.5
使用
副本集 770 23.5 副本集拓扑 771 23.5.1 单连接列表 771 23.5.2 星型和中心拓扑 771 23.6 星型和中心自动同步 772 23.7 分布可同步复制的应用程序 774 23.7.1
使用
可同步复制的和非可同步复制的对象 774 23.7.2 部分副本 775 23.8 同步复制后端和前端应用程序 778 23.9 处理同步复制冲突 779 23.9.1 数据冲突 779 23.9.2
使用
Access冲突解决器 780 23.9.3
使用
另
一个
冲突解决算法 782 23.9.4 各种同步复制冲突 785 23.10 复制同步器 786 23.10.1 同步阶段 791 23.10.2 直接和间接同步 791 23.10.3 预定和随选同步 791 23.10.4 在Internet上同步副本 792 23.10.5 处理计数字段 792 23.10.6
使用
同步复制的只读属性 793 23.10.7 执
行
同步复制鉴别修正 794 23.10.8
使用
最后的同步伙伴 794 23.10.9 对同步复制的数据库
使用
压缩工具 795 23.10.10 确定是否备份副本 795 23.11 副本集从Access 97升级为Access 2000 795 23.12 保护同步复制的应用程序 796 23.13 同步复制数据库
使用
MDE文件 796 23.14 创建成功的同步复制应用程序 796 23.15 小 结 797 第24章 应用程序移到客户/服务器 798 24.1 了解客户/服务器 798 24.1.1 客户/服务器术语解释 799 24.1.2 利用ODBC 799 24.1.3 客户/服务器中
使用
Access的原因 800 24.2 迁移到客户/服务器的考虑因素 801 24.2.1 数据量 801 24.2.2 数据库的
使用
和用处 803 24.2.3 数据库设计 803 24.2.4 同时
使用
及用户数量 803 24.2.5 备份与恢复 803 24.2.6 安全性 804 24.2.7 应用程序间的数据共享 804 24.2.8 网络传输 804 24.2.9 记录集合 805 24.2.10 选择合适的系统 805 24.3 制订客户/服务器计划 805 24.3.1 字段和表的名称 806 24.3.2 保留字 806 24.3.3 区分字母大小写 807 24.3.4 服务器上的查询处理 807 24.4 应用程序开发过程的注意事项 808 24.4.1 限定数据 809 24.4.2
使用
组合框 809 24.4.3
使用
Access特定函数和用户自定义函数 810 24.4.4 创建异构联接及交叉数据库联接 810 24.4.5 处理OLE对象 810 24.4.6
使用
本地表获取静态信息 811 24.5 转换现有的应用程序 811 24.5.1 从设计合理的数据库开始 811 24.5.2
使用
时间戳字段 812 24.5.3 清理查询 812 24.5.4 重做窗体 813 24.5.5 开发高级应用程序 814 24.5.6 利用当前的Access安全性 817 24.5.7 升迁Access数据库 817 24.5.8
使用
升迁工具 821 24.6 分布客户/服务器解决方案 824 24.6.1 编程设置ODBC数据源 825 24.6.2 用服务器脚本重新创建SQL数据库 828 24.6.3 向SQL Server加载现有的数据 829 24.7 Access和SQL Server的注意事项 829 24.8 小 结 830 第25章 用ADPs开发SQL Server项目 831 25.1 项目文件结构 832 25.1.1 介绍OLE DB 832 25.1.2 链接到数据 832 25.1.3 数据链接和Access项目 833 25.1.4 数据链接和VBA代码 834 25.1.5 Microsoft数据引擎 837 25.1.6 SQL Server上的对象 837 25.2 创建过程 839 25.2.1 创建新项目 839 25.2.2 项目属性 842 25.2.3 确保项目安全 843 25.3 创建客户/服务器应用程序 844 25.3.1
使用
表 845 25.3.2 对象的命名约定 847 25.3.3 SQL Server的数据类型 848 25.3.4
使用
约束 850 25.3.5
使用
触发器 856 25.3.6 优化数据访问 858 25.4
使用
视图 859 25.5
使用
存储过程 862 25.5.1 创建存储过程 863 25.5.2 比较存储过程和Access语法 866 25.6 小 结 868 第六部分 添加最终的交互 869 第26章
使用
DAO的启动检查系统例程 871 26.1 执
行
启动系统检查 872 26.2
使用
定制数据库属性 877 26.2.1 通过用户界面创建数据库属性 877 26.2.2 从VBA访问定制数据库属性 878 26.3 通知和记录用户退出应用程序 879 26.3.1 启动时让用户退出 880 26.3.2 在应用程序运
行
中记录用户退出 881 26.3.3 设置标志文件让用户退出后端 885 26.3.4 启动时测试链接表的链接 888 26.4 通过VBA链接和解除链接表 889 26.4.1 链接和解除链接位于应用程序文件夹中Jet后端的表 890 26.4.2 用OpenFile API调用查找Jet后端 894 26.5 测试和修复损坏的Jet后端数据库 897 26.6 检查并通知用户新版本的情况 904 26.7 小 结 907 第27章
使用
ADO
的启动检查系统例程 908 27.1 执
行
启动系统检查 909 27.2 采用
ADO
设置和检索系统的设置 914 27.3 在启动时测试链接表的连接 915 27.4 通过VBA和
ADO
链接表 917 27.5 测试和修复损坏的Jet后端数据库 921 27.6
使用
ADO
复制代码表 925 27.7 小 结 929 第28章 创建维护例程 930 28.1 创建导出对话框导出应用程序的表 930 28.1.1 实用工具的演示 930 28.1.2 查看组成导出实用工具的部件 931 28.1.3 查看创建导出实用工具的代码 935 28.2 根据需要压缩和修复后端 937 28.3 创建通用代码表编辑器 942 28.4 后端复制表到前端以获取更好的性能 944 28.4.1 创建复制表编辑器 945 28.4.2 复制半静态数据的启动例程 954 28.5 小 结 960 第七部分 附录 961 附录A 在Access 2000中调试代码 963 A.1 设置正确的模块选项以发挥最大的调试能力 963 A.2 利用立即窗口 967 A.2.1 从应用程序向立即窗口显示数据 967 A.2.2 在立即窗口中显示数据 968 A.2.3 在立即窗口中给变量和对象赋值 968 A.2.4 从立即窗口运
行
代码 969 A.3 终止程序运
行
970 A.3.1
使用
Stop语句 971 A.3.2
使用
断点 971 A.3.3
使用
Debug.Assert 972 A.4 单步调试 972 A.4.1 按
行
“逐语句”运
行
代码 972 A.4.2 用“逐过程”越过代码 973 A.4.3 用“跳出”命令离开例程 973 A.4.4 "运
行
到光标处”命令略过已检验的代码 973 A.5 查看过程调用顺序 973 A.6 程序运
行
期间监视表达式 974 A.6.1 本地窗口 975 A.6.2 用“快速监视”对话框快速监视 977 A.6.3 在监视窗口中添加和查看表达式 978 A.6.4 设置断点条件和编辑表达式 979 A.7 用条件编译命令控制代码 981 A.8 小 结 983 附录B ActiveX初步 984 B.1
使用
ActiveX
控件
984 B.1.1 Access附带的ActiveX
控件
985 B.1.2 在窗体上放置ActiveX
控件
985 B.1.3 设计期间设置ActiveX
控件
的属性 987 B.2 用日历
控件
计算天数 988 B.2.1 日历ActiveX
控件
的属性 989 B.2.2 用日历
控件
设计VBA 992 B.3 通过Common Dialog ActiveX
控件
使用
标准界面 994 B.3.1 用Common Dialog
控件
查找文件 996 B.3.2 用Common Dialog ActiveX
控件
改变默认的系统打印机 997 B.4 小 结 998 附录C Access 2000和Jet4的
错误
999 附录D Microsoft Access LESZYNSKI命名约定 1076 D.1 命名约定初步 1077 D.2 Access对象类型 1078 D.3 对象名的结构 1079 D.3.1 什么是前缀 1079 D.3.2 什么是标记 1080 D.3.3 什么是基本名称 1080 D.3.4 什么是限定符 1080 D.3.5 什么是后缀 1081 D.4 创建数据库对象基本名称 1081 D.4.1 基本名称规则 1082 D.4.2 基本名称长度限制 1082 D.4.3 复合基本名称 1083 D.4.4 字段基本名称 1083 D.4.5 基本名称元素的顺序 1085 D.5 数据库对象的命名约定 1085 D.5.1 数据库窗口对象的标记 1086 D.5.2 窗体和报表
控件
对象的标记 1088 D.5.3 数据库对象的前缀 1091 D.5.4
使用
菜单宏 1092 D.5.5 数据库对象名样例 1093 D.6 创建VBA对象基本名称 1093 D.6.1 VBA对象基本名称的规则 1094 D.6.2 VBA对象基本名称长度 1094 D.6.3 复合VBA 对象基本名称 1094 D.7 VBA对象的命名约定 1095 D.7.1 变量的标记 1095 D.7.2 变量的前缀 1100 D.7.3 常量命名 1101 D.7.4 过程的标记和前缀 1102 D.7.5 用宏代替VBA 1102 D.7.6 Visual Basic对象名示例 1103 D.8 创建自己的标记 1103 D.9 VBA编码约定 1105 D.9.1 编码注释 1105 D.9.2 处理
错误
1105 D.10 标准缩写 1106 D.11 标准术语 1108 D.12 LNC的补充信息 1109 D.12.1 如何得到LNC 1109 D.12.2 发送反馈 1109 D.12.3 作者简介 1109 光盘
使用
约定 1111 配套光盘内容 1113
winform
控件
与
ADO
.NET
ADO
.NET的名称起源于
ADO
(ActiveX Data Objects),是
一个
COM组件库,用于在以往的Microsoft技术中访问数据。之所以
使用
ADO
.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先
使用
的数据访问接口。
ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1
手动优化了PDF的书签,书签可折叠,书签链接以目录方式保存,多达1000多页,每页都做了书签
定位
,手都累酸啦。 ============================== 因权限只能到60MB,分卷压缩了,共3个压缩包,需下载完3个一起解压, ============================== ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书遗漏的高级主题,如自定义
控件
的创建、图像处理、加密等。此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何
使用
微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。 《ASP.NET 4高级程序设计(第4版)》适合各层次的ASP.NET程序员阅读。 =================== 第一部分 核心概念 第1章 ASP.NET简介 1.1 ASP.NET的7大要点 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 1.1.2 要点2:ASP.NET是编译执
行
的,而不是解释执
行
的 1.1.3 要点3:ASP.NET支持多语言 1.1.4 要点4:ASP.NET运
行
在公共语言运
行
库内 1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2 Visual StudioIDE 2.2.1 解决方案资源管理器 2.2.2 文档窗口 2.2.3 工具箱 2.2.4
错误
列表和任务列表 2.2.5 服务器资源管理器 2.3 代码编辑器 2.3.1 添加程序集引用 2.3.2 智能感知和大纲显示 2.3.3 Visual Studio 2010改进 2.4 编码模型 2.4.1 代码隐藏文件如何与页面连接 2.4.2
控件
标签如何与页面变量连接 2.4.3 事件如何与事件处理程序连接 2.5 Web项目 2.5.1 基于项目的开发 2.5.2 创建Web项目 2.5.3 迁移旧版Visual Studio创建的网站 2.6 Visual Studio调试 2.6.1 单步调试 2.6.2 变量监视 2.6.3 高级断点 2.7 WebDevelopment Helper 2.8 总结 第3章 Web窗体 3.1 页面处理 3.1.1 HTML表单 3.1.2 动态用户界面 3.1.3 ASP.NET事件模型 3.1.4 自动回送 3.1.5 视图状态 3.1.6 XHTML兼容性 3.1.7 客户端
控件
ID 3.2 Web窗体处理阶段 3.2.1 页面框架初始化 3.2.2 用户代码初始化 3.2.3 验证 3.2.4 事件处理 3.2.5 自动数据绑定 3.2.6 清除 3.2.7 页面流示例 3.3 作为
控件
容器的页面 3.3.1 显示
控件
树 3.3.2 页头 3.3.3 动态
控件
的创建 3.4 Page类 3.4.1 Session、Application和Cache 3.4.2 Request 3.4.3 Response 3.4.4 Server 3.4.5 User 3.4.6 Trace 3.4.7 访问其他类中的HTTP上下文 3.5 总结 第4章 服务器
控件
4.1 服务器
控件
的类型 4.2 HTML服务器
控件
4.2.1 HtmlControl类 4.2.2 HtmlContainerControl类 4.2.3 HtmlInputControl类 4.2.4 HTML服务器
控件
类 4.2.5 设置Style特性和其他属性 4.2.6 通过编程创建服务器
控件
4.2.7 处理服务器端事件 4.3 Web
控件
4.3.1 WebControl基类 4.3.2 基本的Web
控件
类 4.3.3 单位 4.3.4 枚举 4.3.5 颜色 4.3.6 字体 4.3.7 焦点 4.3.8 默认按钮 4.3.9 可滚动面板 4.3.10 处理Web
控件
事件 4.4 List
控件
4.4.1 Selectable列表
控件
4.4.2 BulletedList
控件
4.5 输入验证
控件
4.5.1 验证
控件
4.5.2 验证流程 4.5.3 BaseValidator类 4.5.4 RequiredFieldValidator
控件
4.5.5 RangeValidator
控件
4.5.6 CompareValidator
控件
4.5.7 RegularExpressionValidator
控件
4.5.8 CustomValidator
控件
4.5.9 ValidationSummary
控件
4.5.10 通过编程
使用
验证器 4.5.11 验证组 4.6 富
控件
4.6.1 AdRotator
控件
4.6.2 Calendar
控件
4.7 总结 第5章 ASP.NET应用程序 5.1 剖析ASP.NET应用程序 5.1.1 应用程序域 5.1.2 应用程序生命周期 5.1.3 应用程序
更新
5.1.4 应用程序目录结构 5.2 global.asax应用程序文件 5.2.1 应用程序事件 5.2.2 演示应用程序事件 5.3 ASP.NET配置 5.3.1 machine.config文件 5.3.2 web.config文件 5.3.3 设置 5.3.4 5.3.5 5.3.6 5.3.7 通过编程读写配置节 5.3.8 网站管理工具(WAT) 5.3.9 扩展配置文件结构 5.3.10 加密配置节 5.4 .NET组件 5.4.1 创建组件 5.4.2 通过App_Code目录
使用
组件 5.4.3 通过Bin目录
使用
组件 5.5 扩展HTTP管道 5.5.1 HTTP处理程序 5.5.2 创建自定义的HTTP处理程序 5.5.3 配置自定义的HTTP处理程序 5.5.4
使用
无须配置的HTTP处理程序 5.5.5 创建高级的HTTP处理程序 5.5.6 为非HTML内容创建HTTP处理程序 5.5.7 HTTP模块 5.5.8 创建自定义HTTP模块 5.6 总结 第6章 状态管理 6.1 ASP.NET状态管理 6.2 视图状态 6.2.1 视图状态示例 6.2.2 在视图状态中保存对象 6.2.3 视图状态评估 6.2.4 有选择地禁用视图状态 6.2.5 视图状态安全 6.3 在页面间传送信息 6.3.1 查询字符串 6.3.2 跨页回发 6.4 cookie 6.5 会话状态 6.5.1 会话架构 6.5.2
使用
会话状态 6.5.3 配置会话状态 6.5.4 会话状态安全 6.6 应用程序状态 6.7 总结 第二部分 数据访问 第7章 基础 7.1
ADO
.NET架构 7.1.1
ADO
.NET数据提供程序 7.1.2
ADO
.NET的标准化 7.1.3 基本
ADO
.NET类 7.2 Connection类 7.2.1 连接字符串 7.2.2 测试连接 7.2.3 连接池 7.3 Command类和DataReader类 7.3.1 Command基础 7.3.2 DataReader类 7.3.3 ExecuteReader()方法和DataReader 7.3.4 ExecuteScalar()方法 7.3.5 ExecuteNonQuery()方法 7.3.6 SQL注入攻击 7.3.7
使用
参数化命令 7.3.8 调用存储过程 7.4 事务 7.4.1 事务和ASP.NET应用程序 7.4.2 隔离级别 7.4.3 保存点 7.5 提供程序无关的代码 7.5.1 创建工厂 7.5.2 用工厂创建对象 7.5.3
使用
提供程序无关的代码的查询 7.6 总结 第8章 数据组件和DataSet 8.1 构建数据访问组件 8.1.1 数据包 8.1.2 存储过程 8.1.3 数据应用类 8.1.4 测试数据库组件 8.2 非连接的数据 8.2.1 Web应用程序和DataSet 8.2.2 XML集成 8.3 DataSet类 8.4 DataAdapter类 8.4.1 填充DataSet 8.4.2
使用
多个表和关系 8.4.3 查找特定
行
8.4.4 在数据访问类里
使用
DataSet 8.4.5 数据绑定 8.5 DataView类 8.5.1
使用
DataView排序 8.5.2
使用
DataView过滤 8.5.3
使用
关系的高级过滤 8.5.4 计算列 8.6 总结 第9章 数据绑定 9.1 基本的数据绑定 9.1.1 单值绑定 9.1.2 其他类型的表达式 9.1.3 重复值绑定 9.2 数据源
控件
9.3 SqlDataSource 9.3.1 选择记录 9.3.2 参数化命令 9.3.3
错误
处理 9.3.4
更新
记录 9.3.5 删除记录 9.3.6 插入记录 9.3.7 SqlDataSource的不足 9.4 ObjectDataSource 9.4.1 选择记录 9.4.2
更新
记录 9.4.3
使用
数据对象执
行
更新
9.5 数据源
控件
的限制 9.5.1 问题 9.5.2 添加其他项 9.5.3
使用
SqlDataSource处理其他选项 9.5.4
使用
ObjectDataSource处理其他选项 9.6 总结 第10章 富数据
控件
10.1 GridView 10.2 格式化GridView 10.2.1 格式化字段 10.2.2 样式 10.2.3 格式化特定值 10.3 GridView
行
选择 10.3.1
使用
选择来创建主-
从表
单 10.3.2 SelectedIndexChanged事件 10.3.3 将数据字段用作选择按钮 10.4 对GridView排序 10.4.1
使用
SqlDataSource排序 10.4.2
使用
ObjectDataSource排序 10.4.3 排序和选择 10.4.4 高级排序 10.5 GridView分页 10.5.1 自动分页 10.5.2 分页和选择 10.5.3 ObjectDataSource的自定义分页 10.5.4 定制分页栏 10.6 GridView模板 10.6.1
使用
多个模板 10.6.2 在Visual Studio中编辑模板 10.6.3 绑定到方法 10.6.4 处理模板中的事件 10.6.5
使用
模板编辑 10.6.6 模板中的客户端ID 10.7 ListView 10.7.1 分组 10.7.2 分页 10.8 DetailsView和FormView 10.8.1 DetailsView 10.8.2 FormView 10.9 高级网格 10.9.1 GridView中的汇总 10.9.2 单个表中的父/子视图 10.9.3
使用
查找表编辑字段 10.9.4 处理来自数据库的图片 10.9.5 探测并发冲突 10.10 总结 第11章 缓存和异步页面 11.1 理解ASP.NET缓存 11.2 输出缓存 11.2.1 声明性的输出缓存 11.2.2 缓存和查询字符串 11.2.3
使用
特定查询字符串参数的缓存 11.2.4 自定义缓存控制 11.2.5
使用
HttpCachePolicy类进
行
缓存 11.2.6 缓存后替换和部分页缓存 11.2.7 缓存用户配置 11.2.8 缓存配置 11.2.9 输出缓存扩展 11.3 数据缓存 11.3.1 向缓存添加项目 11.3.2 简单的缓存测试 11.3.3 缓存优先级 11.3.4
使用
数据源
控件
的缓存 11.4 缓存依赖 11.4.1 文件和缓存项目依赖 11.4.2 聚合依赖 11.4.3 移除项目回调 11.4.4 理解SQL缓存通知 11.4.5 缓存通知的工作方式 11.4.6 启用通知 11.4.7 创建缓存依赖 11.5 自定义缓存依赖 11.5.1 基本的自定义缓存依赖 11.5.2
使用
消息队列的自定义缓存依赖 11.6 异步页面 11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 11.6.3
错误
处理 11.6.4 在异步任务中
使用
缓存 11.6.5 多异步任务和超时 11.7 总结 第12章 文件和流 12.1
使用
文件系统 12.1.1 Directory类和File类 12.1.2 DirectoryInfo类和FileInfo类 12.1.3 DriveInfo类 12.1.4
使用
Attributes 12.1.5
使用
通配符过滤文件 12.1.6 获取文件的版本信息 12.1.7 Path类 12.1.8 文件浏览器 12.2
使用
流读写文件 12.2.1 文本文件 12.2.2 二进制文件 12.2.3 上传文件 12.2.4 使文件对多用户安全 12.2.5 压缩 12.3 序列化 12.4 总结 第13章 LINQ 13.1 LINQ基础 13.1.1 延迟执
行
13.1.2 LINQ是如何工作的 13.1.3 LINQ表达式 13.1.4 揭秘LINQ表达式 13.2 LINQ to DataSet 13.2.1 强类型的DataSet 13.2.2 空值 13.3 LINQ to Entities 13.3.1 生成数据模型 13.3.2 数据模型类 13.3.3 实体关系 13.3.4 查询存储过程 13.3.5 LINQ to Entities查询揭秘 13.4 数据库操作 13.4.1 插入 13.4.2
更新
13.4.3 删除 13.4.4 管理并发 13.4.5 处理并发冲突 13.5 EntityDataSource
控件
13.5.1 显示数据 13.5.2 获取关联数据 13.5.3 编辑数据 13.5.4 验证 13.6
使用
QueryExtender
控件
13.6.1
使用
SearchExperssion 13.6.2
使用
RangeExpression 13.6.3
使用
PropertyExpression 13.6.4
使用
MethodExpression 13.7 总结 第14章 XML 14.1 什么时候
使用
XML 14.2 XML简介 14.2.1 XML的优点 14.2.2 格式良好的XML 14.2.3 XML命名空间 14.2.4 XML架构 14.3 基于流的XML处理 14.3.1 写XML文件 14.3.2 读取XML文件 14.4 内存中的XML处理 14.4.1 XmlDocument 14.4.2 XPathNavigator 14.4.3 XDocument 14.5 搜索XML内容 14.5.1 搜索XmlDocument 14.5.2
使用
XPath搜索XmlDocument 14.5.3
使用
LINQ搜索XDocument 14.6 验证XML内容 14.6.1 基本架构 14.6.2 验证XmlDocument 14.6.3
使用
XDocument进
行
验证 14.7 转换XML内容 14.7.1 基本的样式表 14.7.2
使用
XslCompiledTransform 14.7.3
使用
Xml
控件
14.7.4
使用
LINQ to XML转换XML 14.8 XML数据绑定 14.8.1 非层次化绑定 14.8.2
使用
XPath 14.8.3 嵌套的网格 14.8.4
使用
TreeView的层次化绑定 14.8.5
使用
XSLT 14.8.6 绑定到来自其他源的XML内容 14.8.7 通过XmlDataSource
更新
XML 14.9 XML和
ADO
.NET数据集 14.9.1 把DataSet转换为XML 14.9.2 把DataSet作为XML访问 14.10 总结 第三部分 构建ASP.NET网站 第15章 用户
控件
15.1 用户
控件
基础 15.1.1 创建简单的用户
控件
15.1.2 把页面转换成用户
控件
15.2 为用户
控件
添加代码 15.2.1 处理事件 15.2.2 添加属性 15.2.3
使用
自定义对象 15.2.4 添加事件 15.2.5 公开内部Web
控件
15.3 动态加载用户
控件
15.4 局部页面缓存 15.4.1 VaryByControl 15.4.2 共享缓存
控件
15.5 总结 第16章 主题和母版页 16.1 层叠样式表 16.1.1 创建样式表 16.1.2 应用样式表规则 16.2 主题 16.2.1 主题文件夹和外观 16.2.2 应用简单主题 16.2.3 处理主题冲突 16.2.4 为同一
控件
创建多个外观 16.2.5 含有模板和图片的外观 16.2.6 在主题里
使用
CSS 16.2.7 通过配置文件来应用主题 16.2.8 动态应用主题 16.3 标准化网站布局 16.4 母版页基础 16.4.1 简单的母版页 16.4.2 简单的内容页 16.4.3 默认内容 16.4.4 具有表格和CSS布局的母版页 16.4.5 母版页和相对路径 16.4.6 通过配置文件应用母版页 16.5 高级母版页 16.5.1 和母版页类交互 16.5.2 动态设置母版页 16.5.3 嵌套母版页 16.6 总结 第17章 网站导航 17.1 多视图页面 17.1.1 MultiView
控件
17.1.2 Wizard
控件
17.2 站点地图 17.2.1 定义站点地图 17.2.2 绑定站点地图 17.2.3 导航路径 17.2.4 显示站点地图的一部分 17.2.5 站点地图对象 17.2.6 加入自定义站点地图信息 17.2.7 创建自定义的SiteMapProvider 17.2.8 安全调整 17.3 URL映射和路由 17.3.1 URL映射 17.3.2 URL路由 17.4 TreeView
控件
17.4.1 TreeNode 17.4.2 按需填充节点 17.4.3 TreeView样式 17.5 Menu
控件
17.5.1 Menu样式 17.5.2 Menu模板 17.6 总结 第18章 网站部署 18.1 安装和配置IIS 18.1.1 安装IIS 7 18.1.2 管理IIS 7 18.2 部署网站 18.2.1 通过复制文件进
行
部署 18.2.2
使用
Web部署 18.2.3 通过FTP部署 18.3 管理网站 18.3.1 创建新站点 18.3.2 创建虚拟目录 18.3.3
使用
VirtualPathProvider 18.3.4
使用
应用程序池 18.3.5
使用
应用程序预热 18.4 扩展集成管道 18.4.1 创建处理程序 18.4.2 部署处理程序 18.4.3 配置处理程序 18.4.4 测试处理程序 18.5 总结 第四部分 安全 第19章 ASP.NET安全模型 19.1 为何创建安全软件 19.1.1 理解潜在的威胁 19.1.2 安全编程原则 19.1.3 理解Gatekeeper 19.2 理解安全级别 19.2.1 验证 19.2.2 授权 19.2.3 机密性和完整性 19.2.4 互相协作 19.3 理解SSL 19.3.1 理解证书 19.3.2 理解SSL 19.3.3 在IIS 7.x中配置SSL 19.4 总结 第20章 表单验证 20.1 表单验证介绍 20.1.1 为什么
使用
表单验证 20.1.2 为什么不
使用
表单验证 20.1.3 为什么不自己实现cookie验证 20.1.4 表单验证类 20.2 实现表单验证 20.2.1 配置表单验证 20.2.2 禁止匿名用户访问 20.2.3 创建自定义登录页面 20.2.4 自定义凭证存储 20.2.5 表单验证中的持久化cookie 20.3 IIS 7.x和表单验证 20.4 总结 第21章 成员资格 21.1 介绍ASP.NET的成员资格API 21.2
使用
成员资格API 21.2.1 配置表单验证 21.2.2 创建数据存储 21.2.3 配置连接字符串和成员资格提供程序 21.2.4 创建并验证用户 21.3
使用
安全
控件
21.3.1 Login
控件
21.3.2 LoginStatus
控件
21.3.3 LoginView
控件
21.3.4 PasswordRecovery
控件
21.3.5 ChangePassword
控件
21.3.6 CreateUserWizard
控件
21.4 在IIS 7.x里配置成员资格 21.4.1 配置提供程序和用户 21.4.2 在其他应用程序里
使用
成员资格API 21.5
使用
Membership类 21.5.1 从存储中获得用户 21.5.2
更新
存储中的用户 21.5.3 创建和删除用户 21.5.4 检验用户 21.6 总结 第22章 Windows验证 22.1 介绍Windows验证 22.1.1 为什么
使用
Windows验证 22.1.2 为什么不
使用
Windows验证 22.1.3 Windows验证机制 22.2 实现Windows验证 22.2.1 配置IIS 7.x 22.2.2 配置ASP.NET 22.2.3 IIS 7.x管道 22.2.4 禁止匿名用户访问 22.2.5 访问Windows用户信息 22.3 身份模拟 22.3.1 Windows中的身份模拟和委托 22.3.2 经过配置的身份模拟 22.3.3 可编程的身份模拟 22.4 总结 第23章 授权和角色 23.1 URL 授权 23.2 文件授权 23.3 在代码中检查授权 23.3.1
使用
IsInRole()方法 23.3.2
使用
PrincipalPermission类 23.4 为基于角色的授权
使用
角色API 23.4.1 和角色一起
使用
LoginView
控件
23.4.2 通过编程访问角色 23.4.3 在Windows验证中
使用
角色API 23.5 IIS 7.x里的授权和角色 23.5.1 在IIS 7.x里
使用
ASP.NET角色授权 23.5.2 在IIS 7.x中管理ASP.NET角色 23.6 总结 第24章 用户配置 24.1 理解用户配置 24.1.1 用户配置的性能 24.1.2 用户配置如何存储数据 24.1.3 用户配置和验证 24.1.4 用户配置与自定义的数据组件 24.2
使用
SqlProfileProvider 24.2.1 创建用户配置表 24.2.2 配置提供程序 24.2.3 定义用户配置属性 24.2.4
使用
用户配置属性 24.2.5 用户配置序列化 24.2.6 用户配置组 24.2.7 用户配置和自定义的数据类型 24.2.8 用户配置API 24.2.9 匿名用户配置 24.3 自定义的用户配置提供程序 24.3.1 自定义的用户配置提供程序类 24.3.2 设计FactoredProfileProvider 24.3.3 通过编码实现FactoredProfileProvider 24.3.4 测试FactoredProfileProvider 24.4 总结 第25章 加密 25.1 加密数据:机密性问题 25.2 .NET加密命名空间 25.3 理解.NET加密类 25.3.1 对称加密算法 25.3.2 非对称加密 25.3.3 抽象加密类 25.3.4 ICryptoTransform接口 25.3.5 CryptoStream类 25.4 加密敏感数据 25.4.1 管理秘密信息 25.4.2
使用
对称算法 25.4.3
使用
非对称算法 25.4.4 加密数据库中的敏感数据 25.5 加密查询字符串 25.5.1 包装查询字符串 25.5.2 创建
一个
测试页面 25.6 总结 第26章 自定义成员资格提供程序 26.1 自定义提供程序的架构 26.2 创建自定义提供程序的基本步骤 26.2.1 自定义提供程序的总体设计 26.2.2 设计并实现自定义存储 26.2.3 实现提供程序类 26.2.4
使用
自定义提供程序类 26.3 总结 第五部分 高级用户界面 第27章 自定义服务器
控件
27.1 自定义服务器
控件
入门 27.1.1 创建简单的自定义
控件
27.1.2
使用
自定义
控件
27.1.3 工具箱中的自定义
控件
27.1.4 创建支持样式属性的Web
控件
27.1.5 呈现过程 27.2 处理不同的浏览器 27.2.1 HtmlTextWriter 27.2.2 浏览器检测 27.2.3 浏览器属性 27.2.4 覆盖浏览器类型侦测 27.2.5 自适应呈现 27.3
控件
状态和事件 27.3.1 视图状态 27.3.2
控件
状态 27.3.3 回传数据和change事件 27.3.4 触发回传 27.4 扩展现有的Web
控件
27.4.1 组合
控件
27.4.2 派生
控件
27.5 总结 第28章 图形、GDI+和图表 28.1 ImageMap
控件
28.1.1 创建热点 28.1.2 处理热点单击 28.1.3 自定义热点 28.2
使用
GDI+画图 28.2.1 简单绘制 28.2.2 图像格式和质量 28.2.3 Graphics类 28.2.4
使用
GraphicsPath 28.2.5 画笔 28.2.6 画刷 28.3 在网页上嵌入动态图形 28.3.1
使用
PNG格式 28.3.2 传递信息给动态图像 28.3.3
使用
GDI+的自定义
控件
28.4
使用
Chart
控件
28.4.1 创建基本的图表 28.4.2 用数据填充图表 28.5 总结 第29章 JavaScript和Ajax技术 29.1 JavaScript本质 29.1.1 HTML DOM 29.1.2 客户端事件 29.1.3 脚本块 29.1.4 操纵HTML元素 29.1.5 调试JavaScript 29.2 基本的JavaScript示例 29.2.1 创建JavaScript页面处理器 29.2.2
使用
JavaScript异步下载图片 29.2.3 呈现脚本块 29.3 脚本注入攻击 29.3.1 请求验证 29.3.2 禁用请求验证 29.3.3 扩展请求验证 29.4 带有JavaScript的自定义
控件
29.4.1 弹出窗口 29.4.2 滚动按钮 29.5 框架 29.5.1 框架导航 29.5.2 内联框架 29.6 理解Ajax 29.6.1 XMLHttpRequest对象 29.6.2 Ajax示例 29.7 在客户端回调中
使用
Ajax 29.7.1 创建客户端回调 29.7.2 深入了解客户端回调 29.7.3 自定义
控件
里的客户端回调 29.8 总结 第30章 ASP.NETAJAX 30.1 介绍ASP.NETAJAX 30.1.1 客户端的ASP.NETAJAX:脚本库 30.1.2 服务器端的ASP.NETAJAX:ScriptManager 30.2 服务器回调 30.2.1 ASP.NETAJAX中的Web服务 30.2.2 在页面里放置Web方法 30.2.3 ASP.NETAJAX应用程序服务 30.3 ASP.NETAJAX服务器
控件
30.3.1
使用
UpdatePanel的局部呈现 30.3.2
使用
Timer的定时刷新 30.3.3
使用
UpdateProgress的耗时
更新
30.3.4 管理浏览器历史 30.4 深入客户端库 30.4.1 理解客户端模型 30.4.2 JavaScript的面向对象编程 30.4.3 网页框架 30.5
控件
扩展器 30.5.1 安装ASP.NETAJAX
控件
工具包 30.5.2 AutoCompleteExtender 30.5.3 ASP.NETAJAX
控件
工具包 30.6 总结 第31章
使用
Web部件页面的门户网站 31.1 典型门户页面 31.2 基本Web部件页面 31.2.1 创建页面设计 31.2.2 WebPartManager和WebPartZone 31.2.3 向页面添加Web部件 31.2.4 定制页面 31.3 创建Web部件 31.3.1 简单的Web部件任务 31.3.2 开发高级Web部件 31.3.3 Web部件编辑器 31.3.4 连接Web部件 31.3.5 自定义动词和Web部件 31.3.6 用户
控件
和高级Web部件 31.3.7 动态上传Web部件 31.3.8 对Web部件的授权 31.3.9 个性化的最后任务 31.4 总结 第32章 MVC 32.1 MVC和Web表单的选择 32.2 创建基本的MVC应用程序 32.2.1 创建模型 32.2.2 创建控制器 32.2.3 创建Index视图 32.2.4 测试(未完成的)应用程序 32.2.5 完成控制器和视图 32.2.6 修改Site.Master文件 32.3 扩展基础的MVC应用程序 32.3.1 配置路由 32.3.2 增加
错误
处理 32.3.3 增加验证 32.3.4 增强数据存储访问 32.3.5 增加对外键约束的支持 32.4 自定义视图 32.4.1 修改视图 32.4.2 增加视图数据 32.5 强化模型 32.6 验证数据 32.6.1 执
行
基本的验证 32.6.2 增加验证标注 32.7
使用
动作结果 32.7.1 返回JSON数据 32.7.2 调用其他控制器方法 32.8 总结 第33章 动态数据 33.1 创建动态数据应用程序 33.1.1 创建动态数据网站 33.1.2 检验动态数据网站 33.2 深入理解动态数据项目 33.3 自定义动态数据网站 33.3.1
使用
模板进
行
自定义 33.3.2
使用
路由进
行
自定义 33.3.3
使用
元数据进
行
自定义 33.3.4 自定义验证 33.4 总结 第34章 Silverlight 34.1 理解Silverlight 34.1.1 Silverlight与Flash对比 34.1.2 Silverlight系统需求 34.2 创建Silverlight解决方案 34.2. 1 Silverlight编译 34.2.2 入口页面 34.3 创建Silverlight项目 34.3.1 设计Silverlight页面 34.3.2 理解XAML 34.3.3 设置属性 34.3.4 XAML 代码隐藏 34.3.5 处理事件 34.3.6 了解Silverlight类库 34.4 布局 34.4.1 Canvas 34.4.2 网格 34.5 动画 34.5.1 动画基础知识 34.5.2 定义动画 34.5.3 StoryBoard类 34.5.4 交互式动画实例 34.5.5 变换 34.6 Silverlight
使用
Web服务 34.6.1 创建Web服务 34.6.2 添加Web引用 34.6.3 调用Web服务 34.6.4 配置Web服务URL 34.6.5 跨域Web服务调用 34.7 总结
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章