本篇內容介紹了“ADOCONNECTION組件屬性怎么配置”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、成都網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團成都定制網(wǎng)頁設計等服務項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務眾多知名企業(yè)客戶;涵蓋的客戶類型包括:主動防護網(wǎng)等眾多領域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致認可!
你可以生成一個數(shù)據(jù)模塊,靜態(tài)放置數(shù)據(jù)集和ADO CONNECTION組件,然后使該數(shù)據(jù)模塊不在程序開始時生成,而可以在線程中動態(tài)的生成,這種方法也可以,有興趣的朋友可以試一下二者之間的執(zhí)行效率。
本人最近正在進行呼叫中心的座席端和服務器軟件開發(fā),座席端登錄部分是進行提取主機信息,然后使用SOCKET提交給遠程服務器,服務器再在后臺數(shù)據(jù)庫中進行查找信息,進行對比,看是否允許座席端主機登錄,因為我的電腦中無法安裝SQLSERVER。
所以 ,ADO CONNECTION后臺數(shù)據(jù)庫暫時使用access小型數(shù)據(jù)庫進行代替,到后期可以改為SQLSERVER數(shù)據(jù)庫,,我在后臺數(shù)據(jù)庫中使用了兩個表,使用ADO CONNECTION字段將其相關聯(lián),如果在***個表中查找到信息以后馬上會進入第二個表中進行查找,如果***個表中的信息符合,就返回個客戶第二個表中的信息,因為座席端主機有200多臺,為了防止幾臺主機同時進行驗證信息,引起沖突,我在服務器端建立多線程。
利用線程進行后臺的查詢,以及查找結果的回傳,ADO CONNECTION編寫成功后進行測試,發(fā)現(xiàn)當一個主機連接后可以測試成功,但是,當?shù)诙€或者以后的線程產(chǎn)生時,數(shù)據(jù)集在***個表中可以查到正確的信息,但是進入第二個表中時,會發(fā)現(xiàn)按照正確的查找條件進行查找時,查到的信息都為NIL,而且經(jīng)過跟蹤,發(fā)現(xiàn),其實ADO CONNECTION已經(jīng)找到了正確的信息,而且已經(jīng)發(fā)送成功了,但是卻無法接收到,當時我在論壇中發(fā)表了一個帖子尋求幫助。
有些朋友說可能ACCESS數(shù)據(jù)庫不提供多線程訪問,但是我聽說很多的論壇中好像都使用了ACCESS進行后臺線程的查找的。翻看MSDN中關于COM的說明:發(fā)現(xiàn)我的線程中竟然缺少最重要的兩個函數(shù)過程。
CoInitialize( nil );凡是訪問com對象都應該使用。線程的關閉時應該使用CoUnInitialize;否則ADO CONNECTION肯定出錯,我相信肯定有不少的朋友經(jīng)歷過這種問題的:
unit Unitquerythread; interface uses windows,SysUtils,Classes, Dialogs,ADODB,db, NMMSG, ActiveX{必須要有}; type QueryThread = class(TThread) private FComputerInfor,FIPaddressinfo: string;//傳遞的信息 FAdoQuery,FAdoQUserInfor:TadoQuery;//動態(tài)生成的表一,表2 Fadoconnection:Tadoconnection;//動態(tài)生成的連接 Fnmmsg,FNMretureMSG:TNMMSG;//用來發(fā)送返回信息的組件 filestream:tfilestream; procedure ExtractInfor(TransInfo:string{自定義的從該提交信息中分離信息的過程}); procedure ShellexeQuery; Destructor Destroy;
“ADOCONNECTION組件屬性怎么配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質量的實用文章!