按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
30…MAY…1996 BIKE SPEC 23 8 PAID
17…JAN…1996 BIKE SPEC 76 11 PAID
17…JAN…1996 LE SHOPPE 76 5 PAID
1…JUN…1996 LE SHOPPE 10 3 PAID
1…JUN…1996 AAA BIKE 10 1 PAID
1…JUL…1996 AAA BIKE 76 4 PAID
1…JUL…1996 AAA BIKE 46 14 PAID
11…JUL…1996 JACKS BIKE 76 14 PAID
INPUT/OUTPUT
SELECT * FROM PART
PARTNUM DESCRIPTION PRICE
54 PEDALS 54。25
42 SEATS 24。50
46 TIRES 15。25
23 MOUNTAIN BIKE 350。45
76 ROAD BIKE 530。00
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 用以确认数据库链接