這個是我開始接觸編程時的想法,想通過僅用數據庫,不采用sock來實現一個簡單的在局域網內的聊天室,我想這個想法很多人都有過。這個程序本身沒什麼價值,只是一來把自己當初的設計與大家分享,二來是有鑒於網上對ADO控件的使用這方面的介紹不是很多,自己算是拋磚引玉吧。
言歸正傳,首先用access建立一個數據庫chat,接著建兩張表格:
content(name(文本),time(時間),content(文本))
online(name(文本))
設計:
登陸模塊:
選擇服務器,也就是網上的共享數據庫;
輸入用戶名;
刷新模塊:負責刷新顯示在線用戶,聊天內容(用一個定時器)。
應用模塊:用戶的聊天內容的發送,及退出時的提示及相關工作。
運行效果如下,詳情可以查看源代碼,裡面有詳細的注釋。
圖一
選擇網上共享的數據庫:
圖二
圖三
圖四
利用對數據庫表的數據集的行數判斷是否有新的記錄加入,如果有,就播放類似qq提示音。需要一提的是程序在stadfx.h中還是得加入ado的聲明:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename \
("EOF", "adoEOF");
主要是為了處理ADO的數據。
由於目前vc6.0只支持低版本的access,作為在網絡上共享的mdb文件首先要求為低版本,還有要設置相應的權限,這樣才能實現對數據庫的正常訪問。
時間倉促,沒有進行細致的調試,存在諸多錯誤,還請原諒。程序在XP+VC6.0下調試通過。
本文配套源碼