友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
SQL 21日自学通(V3.0)(PDF格式)-第40部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
10 TANDEM 1200。00
当你输入数据以后 下一步是创建一个 ODBC 联接 请打开控制面板 如果你使用的
是 WINDOWS 95 WINDOWS 3。1 或 3。11 并双击 ODBC 图标
注 有好几种风格的 SQL 引擎可以装放 ODBC VISUAL C++ DELPHI 和 ORACLE 7 是
在安装的时候将 ODBC 作为其一部分的 幸运的是 ODBC 已经变得和打印机驱动一
样普遍了
最初的 ODZBC 界面如下图所示
290
…………………………………………………………Page 291……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
这一屏幕给出的当前的 ODBC 链接 你想创建一个新的链接 假设你使用的是 InterBase
并且数据库的名字叫 TYSSQL 你是将你的工资让调 10%的那个数据库 那那么请按 ADD
按钮并选择 InterBase 驱动 如下图所示
从这里你可以转到设置屏幕 并进行如下图的填写
你可以使用你自己的名字或是一些比较容易输入的东西 这要依据你为你自己设置的
账号而定 在这里有一个技巧 至少对于我是这样的 就是 InterBase 想用哪一个名字作为
数据库 如果你是 PC 用户或小型的数据库后台可能还需要不得不使用路径名 路径句可
以告诉数据库引擎在子网中的哪一台计算机中可以找到数据库
291
…………………………………………………………Page 292……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
使用 MS QUERY 来完成链接
现在我们已经建立了一个数据链接 我们需要使用一个更为方便的叫作 MS QUERY
的工具 该工具是与 VISUAL C++一同载入的 我们通过使用它来解决足够的数据库和代
码问题以补偿多次编译带来的费用 QUERY 通常安装在一个独立的程序组中 你可以找
到它的 它的外观如下图所示
选择 FILE|NEW QUERY 你的 TTSSQL 链接将不会出现 所以我们需要按 OTHER
按钮来调出 ODBC 数据源对话框 然后从中选择 TYSSQL 如下图
可以小型数据库的用户会不习惯进行登录 可是在这里你必需输入密码才能通过这一
屏幕
加入表的对话框如下图所示 这里的表是与你所建立的数据库相关联的 选择 PART
ORDERS 和 CUSTOMER 然后按关闭按钮
292
…………………………………………………………Page 293……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
该工具有两个功能 首先是对 ODBC 链接作检查 如果它可以工作就会在程序中工作
这一步可以让你确定问题是出在数据库方还是在程序一方 其次是生成查询并对其进行检
查 在 SQL 中输入下边的语句并按 OK 按钮
WHERE CUSTOMER。NAME = ORDERS。NAME AND PART。PARTNUM = ORDERS。PARTNU
下图的结果是返回的结果
你只不过完成了归并操作 但是你归并的字段已经以图形的方式返回了 注意在
NAME 与 PARTNUM 之间的链接
QUERY 是你在 WINDOWS 中工作的一个重要工具 它可以让你维护表和查询 你也
可以使用它来创建表和维护数据 如果你使用 WINDOWS 的 ODBC 和 SQL 工作 你可以
为你或你的电脑来购买它 它不像联网的 DOOM 那样有趣 但是它可以节省你的时间和
293
…………………………………………………………Page 294……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
金钱 现在我们已经建立了 ODBC 链接 我们也可以在编程中使用它
将 VISUAL C++ 与 SQL 结合使用
注 在附件 B 中有本例的源代码
启动 Visual C++并调用 AppWizard 如下图所示 你的工程名字和子目录的名字可能
是不一样的
按 OPTION 按钮并填写下图
按 Data Source 按钮并对下图作出选择
294
…………………………………………………………Page 295……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
现在你可以从 TYSSQL 数据库中选择 CUSTOMER 表了 退回到 AppWizard 的基本屏
幕并按两下 OK 按钮 再按一下 OK 后会显示 New Application Information 如下图所示
当程序生成以后 你需要使用原代码编辑器来设计你的主屏幕 选择 Tools | App Studio
来装入 App Studio 你需要设计的表单是很简单的 只要你能在翻阅时显示足够的表列就
行 你可以参照下图来设计表单
295
…………………………………………………………Page 296……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
注 这个程序对于你所链接的表来说是很完美的 这也是使用 MicroSoft Wizard 或
Borland Expert 的好处之一
将你的工作保存 然后按 ALT+TAB 键回到编译器来编译这个程序 如果一切正常
你将会得到如下图所示的输出 如果你没有得到 那么你需要回头检查并再次尝试
多么好的一个程序啊 要知道你现在还没有写一行代码 用箭头回退到数据库处 你
可以发现数据的排序与它的输出是相同的 它们并没有按字母的次序排列 除非你已经使
用了这个方法 你该如何让它们排序呢
你所链接的数据库被封装在一个叫 Ctyssqlset 的组中 它是 wizard 为你创建了 请看
头文件
// tyssqset。h : interface of the CTyssqlSet class
//
////////////////////////////////////////////////////////////////////////
class CTyssqlSet : public CRecordset
{
DECLARE_DYNAMIC(CTyssqlSet)
public:
CTyssqlSet(CDatabase* pDatabase = NULL);
// Field/Param Data
296
…………………………………………………………Page 297……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
//{{AFX_FIELD(CTyssqlSet; CRecordset)
Cstring m_NAME;
Cstring m_ADDRESS;
Cstring m_STATE;
Cstring m_ZIP;
Cstring m_PHONE;
Cstring m_REMARKS;
//}}AFX_FIELD
// Implementation
protected:
virtual CString GetDefaultConnect();// Default connection string
virtual CString GetDefaultSQL();// default SQL for Recordset
virtual void DoFieldExchange(CFieldExchange* pFX);// RFX support
}
分析
要知道在表中所有列的成员都是可变的 请注意下边的的 GetDefaultConnect 和
GetDefaultSQL 函数 这里是 tyssqset。cpp 的 implementations 部分
CString CTyssqlSet::GetDefaultConnect()
{
return ODBC;DSN=TYSSQL;〃;
}
CString CTyssqlSet::GetDefaultSQL()
{
return 〃CUSTOMER〃;
}
GetDefaultConnect 用以确认数据库链接 你不能改变它 但是 GetDefaultSQL 则可以让
你作一些你所感兴趣的事 可以像下边这样改变它
return 〃SELECT * FROM CUSTOMER ORDER BY NAME〃;
重新编译以后 你会发现结果已经排序了 如下图所示
297
…………………………………………………………Page 298……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
由于没有进行 Microsoft Foundation Class 的漫游 所以我们只能说你已经会操作
CrecordSet 和 Cdatabase 对象了 归并与删除表 更新和插入记录 以及所有使用 SQL 进
行的有趣的工作 对于将 SQL 与 VISUAL C++进行组合应用 你已经学得足够了 你可以
进一步学习 CrecordSet 和 Cdatabase 在线书籍已经成为 C++软件的一部分了 ODBC API
和 AIPS 则由 ORACLE 和 SYBASE 提供
将 DELPHI 与 SQL 结合使用
另外的一个 WINDWOS 下的重要的软件平台是 DELPHI 在 DELPHI 中 ORACLE 是
作为一个画面被载入的 围绕的字符型的 SQL 在 C++的例子中你可以在线改写代码 在
使用 DELPHI 时 你可以归并两个表而无需写哪怕是最简单的代码
注 该程序的代码在附件 C 中提供
双击 DELPHI 图标来启动DELPHI 程序的外观如下图所示
298
…………………………………………………………Page 299……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
当你开始进行编程时你需要对 ODBC 联接进行注册 从工具菜单中选择 BDE Borland
Database 环境 并填写下图的对话框
双击图下部的 ALIASES 标签 为 TYSSQL 分配别名 如下图
选择文件|新表单进行下边的选择 从 EXPORT 表中选择 DATABASE FORM 如下图
所示
299
…………………………………………………………Page 300……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
选择 master/detail form 和 TQuery objects 如下图所示
现在选择你早些时候的 TYSSQL 数据源 如下图所示
300
…………………………………………………………Page 301……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
将 PART 表作为主表
选择其中的所有字段 如下图
301
…………………………………………………………Page 302……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
选择水平显示模式 如下图
然后选择 ORDERS 表 并选择其中的所有字段 显示模式选择为 GRID 如下边的三
个图所示
现在软件允许你进行归并了 确认以 PARTNUM 进行归并 如下图
302
…………………………………………………………Page 303……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
现在回到前边并生成表单 结果如下图所示
编译并运行这个程序 当你选择不同的 PART 以后 在下边的表中将会出现订单 如
下图所示
303
…………………………………………………………Page 304……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
关闭工程并单击一个或全部表单上的查询对象 当你单击一个对象以后 对象浏览器
将会显示它们的属性的不同
这个查询已经试验成功了 但是我们并没有写一行代码
总结
在今天我们学习了 SQL 在应用程序中的一般应用 每一天的学习都会让我们找到硬盘
之中的一些新内容 最好的学习方法是你来学习如何去写查询 进行你所能进行的查询试
验
304
…………………………………………………………Page 305……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
问与答
问 为什么 ODBC 的 API 与 SYBASE 和 ORACLE 的 API 会不相同
答 在从函数到函数级的调用上 ORACLE 与 SYBASE 的功能是非常类似的 但与
此不同的是 许多数据库供应商都让它的数据库系统离开的通用的标准 ODBC 的 API 通
常性更好— — 它并不针对任何特定的数据库 如果你需要特定的数据库并要求它提供高的
性能 那你就需要使用数据库对你提供的 API 函数库
问 在所有的可用的产品中 我如何知道该使用哪一个
答 作为商业的环境 产品的选择通常从可管理性和可学习性两方面来考虑 管理性
决定的产品的价格 而可学习性而可以让它更容易使用 在最好的程序环境中你可以解决
问题非常的讯速而有效
校练场
1 在 VISUAL C++ 中提供了几个 SQL 对象
2 在 DELPHI 中提供了几个 SQL 对象
3 什么是 ODBC
4 DELPHI 可以做什么
练习
1 在 C++的例子中如何对 STATE 字段进行正序或逆序的排序操作
2 在向前一步 找到所有需要使用 SQL 的程序并使用它
305
…………………………………………………………Page 306……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
第二周回顾
l 在第一周我们主要把时间用在了介绍一个非常重要的主题 — — SELECT 语句
l 在第二周则对 SQL 的进行了分门别类的详细介绍
l 在第 8 天主要介绍的是数据维护语言 通过这些语句你可以修改数据库中的数据
三个最为通用的命令是 INSERT DELETE 和 UPDATE
l 第九天介绍了如何设计和创建一个数据库 主要命令有 CREATE DATABASE 和
CREATE TABLE 在表中可以创建任意数量的字段 它们中的每一个都有着由数
据库供应商所定义的数据类型 而 DROP DATABASE 和 DROP TABLE 语句的作
用则是删除数据库和表
l 第十天讲了两种显示数据的方法 视图和索引 视图是用 SELECT 语句的输出所
创建的一个虚似表 索引则可以其于给定的一个或一组字段对数据库中的记录进
行排序
l 第 11 天的主要内容是事务管理 在这里你第一次体验到了使用数据库进行编程
事务用 BEGIN TRANSCAT 语句来开始 MIT TRANSCAT 语句用来确认事
务而 ROLLBACK TRANSCAT 语句则用来取消事务
l 第 12 天的主要内容集中在数据库安全上 尽管数据库安全的实现方法因数据库产
品的不同而不同 但大多数是用 GRANT 和 REVOKE 语句来实现的 GRANT 语
句用以给用户授权 REVOKE 则用以去除这些权限
l 第 13 天主要内容是在应用程序开发环境中使用 SQL 静态 SQL 需要进行预编译
在运行时是不会改变的 动态 SQL 则由于它的灵活性在近几年应用很广 用动态
SQL 进行编程的例子是 VISUAL C++和 DELPHI 开发工具
l 第 14 天 SQL 的高级内容 游标可以在一个记录集中翻阅 存储过程是一种数据
库对象 它可以在一行中执行多个 SQL 语句 它也可以接受和返回数值 触发机
制是一种特殊类型的存储过程 它可以在向数据库中插入 删除和更新数据时自
动运行
306
…………………………………………………………Page 307……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
第三周概貌
应用你对 SQL 的知识
欢迎来到第三周 到现在为止你已经学习了足够的 SQL 基本原理并且已经学习了 SQL
在实际生活中的应用 本周的内容将建立在基于头两周的内容之上
l 第 15 天告诉你如何使用 SQL 流来提高 SQL 的性能
l 第 16 天中告诉你如何使用关系数据库系统中的数据字典和系统目录而且会告诉你
如何来获得有价值的信息
l 第 17 天对数据字典的概念进行了扩充并讲解如何使用数据字典来用 SQL 语句生
成 SQL 语句 你会学习到这项技术的优点并学习如何用它来提高你工作的效率
l 第 18 天 主要是 Oracle 的 PS/SQL 或 Oracle 7 的过程语言 PL/SQL 是许多对标
准 SQL 的扩展之一
l 其它的
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!