自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

講述ADO多線程如何更好的進(jìn)行操作

開發(fā) 后端
ADO多線程不在程序開始時(shí)生成,而可以在線程中動態(tài)的生成,這種方法也可以,但前提是要深入理解到底什么是ADO多線程,及他是怎么運(yùn)作的。

通過專家和一些技術(shù)人員的見解,如果開發(fā)基于ADO多線程操作,最好在每個(gè)線程中放置一個(gè)連接,而數(shù)據(jù)集和數(shù)據(jù)連接都使用動態(tài)生成,當(dāng)然你必須要注意必須要保證線程能過正常的釋放

所以 ,后臺數(shù)據(jù)庫暫時(shí)使用access小型數(shù)據(jù)庫進(jìn)行代替,到后期可以改為SQLSERVER數(shù)據(jù)庫,,我在后臺數(shù)據(jù)庫中使用了兩個(gè)表,使用WORKMARK字段將其相關(guān)聯(lián),如果ADO多線程在第一個(gè)表中查找到信息以后馬上會進(jìn)入第二個(gè)表中進(jìn)行查找,如果第一個(gè)表中的信息符合,就返回個(gè)客戶第二個(gè)表中的信息,因?yàn)樽酥鳈C(jī)有200多臺,為了防止幾臺主機(jī)同時(shí)進(jìn)行驗(yàn)證信息,引起沖突,我在服務(wù)器端建立多線程,

利用線程進(jìn)行后臺的查詢,以及查找結(jié)果的回傳,編寫成功后進(jìn)行測試,發(fā)現(xiàn)當(dāng)一個(gè)主機(jī)連接后可以測試成功,但是,當(dāng)?shù)诙€(gè)或者以后的線程產(chǎn)生時(shí),數(shù)據(jù)集在第一個(gè)表中可以查到正確的信息,但是進(jìn)入第二個(gè)表中時(shí)。

會發(fā)現(xiàn)按照正確的查找條件進(jìn)行查找時(shí),查到的信息都為NIL,而且經(jīng)過跟蹤,ADO多線程發(fā)現(xiàn),其實(shí)ADO已經(jīng)找到了正確的信息,而且已經(jīng)發(fā)送成功了,ADO多線程但是卻無法接收到,當(dāng)時(shí)我在論壇中發(fā)表了一個(gè)帖子尋求幫助。

有些朋友說可能ACCESS數(shù)據(jù)庫不提供多線程訪問,但是我聽說很多的論壇中好像都使用了ACCESS進(jìn)行后臺線程的查找的。翻看MSDN中關(guān)于COM的說明:發(fā)現(xiàn)我的線程中竟然缺少最重要的兩個(gè)函數(shù)過程

CoInitialize( nil );凡是訪問com對象都應(yīng)該使用。ADO多線程線程的關(guān)閉時(shí)應(yīng)該使用CoUnInitialize;否則ADO肯定出錯(cuò),我相信肯定有不少的朋友經(jīng)歷過這種問題的:

  1. constructor QueryThread.create(ComputerInfor, IPaddressinfo: string;nmmsg,NMretureMSG:TNMMSG);  
  2. begin  
  3. CoInitialize( nil );//使用com對象必須要初始化  
  4. inherited create(false);  
  5. FreeOnTerminate:=true;  
  6. FComputerInfor:=ComputerInfor;  
  7. FIPaddressinfo:=IPaddressinfo;  
  8. IPlist:=Tstringlist.create;//創(chuàng)造ip列表  
  9. FAdoQuery:=TAdoQuery.Create(nil);     //動態(tài)生成表一  
  10. FAdoQUserInfor:=TadoQuery.Create(nil);//動態(tài)生成表2  
  11. Fadoconnection:=Tadoconnection.Create(nil);//動態(tài)生成的連接  
  12. Fadoconnection.LoginPrompt :=false;  
  13. Fadoconnection.KeepConnection :=true;  
  14. Fadoquery.Connection:=Fadoconnection;  
  15. FAdoQUserInfor.Connection :=Fadoconnection;  
  16. Fadoconnection.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PersonInformation.mdb;Mode=Read;Persist Security Info=False'
責(zé)任編輯:chenqingxiang 來源: 51cto.com
相關(guān)推薦

2009-12-29 14:01:45

ADO.NET Sql

2010-01-04 10:27:04

DataTable對象

2010-01-05 10:11:23

ADO.NET連接池

2010-01-12 16:33:58

C++test

2009-12-31 11:02:48

ADO類

2009-12-29 13:31:55

ADO連接ACCESS

2010-01-04 17:27:15

ADO.NET異步操作

2009-12-24 17:37:26

ADO分頁

2009-12-28 10:03:58

ADO 對象

2009-12-24 14:39:53

設(shè)計(jì)ADO.NET

2009-12-24 11:04:21

ADO.Net技術(shù)

2009-12-31 13:41:39

ADO.NET架構(gòu)

2009-12-28 09:58:52

ADO操作

2009-12-18 14:27:24

ADO.NET對象

2009-12-28 14:47:53

ADO工具

2009-12-18 16:44:57

ADO.NET統(tǒng)計(jì)

2009-12-23 11:10:38

ADO.NET狀態(tài)

2009-11-12 11:38:03

ADO.NET連接事件

2010-01-15 18:06:20

C++引用

2021-03-15 10:23:44

IT支出技術(shù)投資CIO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號