友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
富士康小说网 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

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  其它的
返回目录 上一页 下一页 回到顶部 9 9
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!