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客戶機程序。