6.7 客户机程序5―交互式查询程序
让我们把迄今为止研究的诸多内容整理一下,编写一个简单的交互式客户机程序。它的功能包括可以进入查询,用通用目标查询处理程序process_query 执行查询,并用前面研究过的显示格式process_result_set() 显示查询结果。
客户机程序5在某些方面与mysql类似,虽然在几个特征上还是有所不同。客户机程序5在输入上有几个约束条件:
■ 每个输入行必须包括一个完整的查询。
■ 查询不会以分号或‘ g’为终止。
■ 不识别类似quit 的命令;而是用Control-D 结束程序。客户机程序5的编写几乎是完全微不足道的(不到10行的新代码)。客户机程序框架(client4.c)和写过的其他代码几乎提供了所需的每一件事,我们唯一要增加的是搜集输入行并执行它们的循环。为了建造客户机程序5,首先把客户机程序框架client4.c 拷贝到client5.c 中,然后把代码增加到process _ query( )、process_result_set() 和print_dashes() 中,最后在client5.c 的main( )中寻找标有下列字符的行:
/* do the real work here */
然后用下面的循环替换它:
编译client5.c 产生client 5 . o ,将client5.c 与common.o和客户机库连接,生成客户机程序5,到此就全部完成了。您就拥有了一个可执行任意查询并显示结果的交互式MySQL客户机程序。