亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

使用ADO,多線程訪問ACCESS數據庫的開發

2020-03-24 18:18:59
字體:
來源:轉載
供稿:網友
本人最近正在進行呼叫中心的座席端和服務器軟件開發,座席端登錄部分是進行提取主機信息,然后使用SOCKET提交給遠程服務器,服務器再在后臺數據庫中進行查找信息,進行對比,看是否允許座席端主機登錄,因為我的電腦中無法安裝SQLSERVER,所以 ,后臺數據庫暫時使用access小型數據庫進行代替,到后期可以改為SQLSERVER數據庫,,我在后臺數據庫中使用了兩個表,使用WORKMARK字段將其相關聯,如果在第一個表中查找到信息以后馬上會進入第二個表中進行查找,如果第一個表中的信息符合,就返回個客戶第二個表中的信息,因為座席端主機有200多臺,為了防止幾臺主機同時進行驗證信息,引起沖突,我在服務器端建立多線程,利用線程進行后臺的查詢,以及查找結果的回傳,編寫成功后進行測試,發現當一個主機連接后可以測試成功,但是,當第二個或者以后的線程產生時,數據集在第一個表中可以查到正確的信息,但是進入第二個表中時,會發現按照正確的查找條件進行查找時,查到的信息都為NIL,而且經過跟蹤,發現,其實ADO已經找到了正確的信息,而且已經發送成功了,但是卻無法接收到,當時我在論壇中發表了一個帖子尋求幫助,原貼內容:http://expert.csdn.net/Expert/topic/1420/1420051.xml?temp=.3060114有些朋友說可能ACCESS數據庫不提供多線程訪問,但是我聽說很多的論壇中好像都使用了ACCESS進行后臺線程的查找的。翻看MSDN中關于COM的說明:發現我的線程中竟然缺少最重要的兩個函數過程CoInitialize( nil );凡是訪問com對象都應該使用。線程的關閉時應該使用CoUnInitialize;否則ADO肯定出錯,我相信肯定有不少的朋友經歷過這種問題的:我的線程代碼如下:unit Unitquerythread;interfaceuses
windows,SysUtils,Classes, Dialogs,ADODB,db, NMMSG, ActiveX{必須要有};type
QueryThread = html' target='_blank'>class(TThread)
private
FComputerInfor,FIPaddressinfo: string; //傳遞的信息
FAdoQuery,FAdoQUserInfor:TadoQuery; //動態生成的表一,表2

Fadoconnection:Tadoconnection; //動態生成的連接
Fnmmsg,FNMretureMSG:TNMMSG;//用來發送返回信息的組件
filestream:tfilestream;
procedure ExtractInfor(TransInfo:string{自定義的從該提交信息中分離信息的過程});
procedure ShellexeQuery;
Destructor Destroy; protected
procedure Execute; override;
public
constructor create(ComputerInfor:string;{傳輸來的計算機信息}IPaddressinfo:string{傳輸來的IP地址信息};nmmsg,NMretureMSG:TNMMSG);
end;
var
ExtractDomainUser:string; //提取出來的域用戶名
ExtractComputername:string;//提取出來的計算機名稱
ExtractDomainname:string;//提取出來的域名
strlist:Tstringlist;
IPlist:Tstringlist;//保存查找到的本工作組的ip地址信息
const defeat='defeat'; //驗證失敗,必須注銷客戶機,在數據庫中重新進行寫入
implementation
uses Unitsendthread;
constructor QueryThread.create(ComputerInfor, IPaddressinfo: string;nmmsg,NMretureMSG:TNMMSG);
begin
CoInitialize( nil );//使用com對象必須要初始化
inherited create(false);
FreeOnTerminate:=true;
FComputerInfor:=ComputerInfor;
FIPaddressinfo:=IPaddressinfo;
IPlist:=Tstringlist.create;//創造ip列表
FAdoQuery:=TAdoQuery.Create(nil); //動態生成表一
FAdoQUserInfor:=TadoQuery.Create(nil);//動態生成表2
Fadoconnection:=Tadoconnection.Create(nil);//動態生成的連接
Fadoconnection.LoginPrompt :=false;
Fadoconnection.KeepConnection :=true;
Fadoquery.Connection:=Fadoconnection;
FAdoQUserInfor.Connection :=Fadoconnection;
Fadoconnection.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PersonInformation.mdb;Mode=Read;Persist Security Info=False';
Fnmmsg:=nmmsg;
FNMretureMSG:=NMretureMSG;
strlist:=Tstringlist.Create;

end;destructor QueryThread.Destroy;
begin
FAdoQuery.FREE;
FAdoQUserInfor.FREE;
Fadoconnection.Free;
strlist.Free;
iplist.free;
CoUnInitialize;//必須使用
inherited destroy;
end;procedure QueryThread.Execute;
begintry
begin
extractinfor(FComputerInfor); //進行信息提取
Synchronize(ShellexeQuery);//
end;
exceptself.Terminate;end;end;procedure QueryThread.ExtractInfor(TransInfo: string);//改過程進行提取用#進行分割//的串里的各個字符串integer;
j:array [1..2]of integer;//用來保存分割符的位置
H,L,M,N:integer;//進行組合字符串時的循環參數begin

全局變量,首先清空
ExtractDomainUser:='';
ExtractDomainname:='';
ExtractComputername:='';
H:=1;//=================================
try
begin
for i := 1 to length(TransInfo) do if TransInfo[i]='#' then //找到了
begin
j[H]:=i;

inc(H);

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区红桃视频| 九九九久久久久久| 热99精品只有里视频精品| 国内精品小视频在线观看| 奇米4444一区二区三区| 中文字幕视频一区二区在线有码| 日韩a**站在线观看| 日本午夜在线亚洲.国产| 国产欧美精品一区二区三区-老狼| 另类专区欧美制服同性| 久久影视电视剧凤归四时歌| 欧美极品美女电影一区| 69视频在线播放| 亚洲已满18点击进入在线看片| 亚洲国产高清福利视频| 欧美激情一二区| 国产成人亚洲精品| 亚洲精品自拍第一页| 欧美日韩国产精品一区二区不卡中文| 久久天天躁狠狠躁夜夜躁| 97超级碰碰人国产在线观看| 久久久久女教师免费一区| 欧美性理论片在线观看片免费| 91网在线免费观看| 97超级碰在线看视频免费在线看| 91精品国产九九九久久久亚洲| 欧美性极品xxxx做受| 美女视频久久黄| 国产97在线亚洲| 亚洲欧洲日产国产网站| 日韩精品有码在线观看| 性色av一区二区三区| 欧美精品videossex88| 亚洲人成在线电影| 国产精品午夜一区二区欲梦| 亚洲欧美精品一区| 在线观看久久av| 国产美女主播一区| 亚洲一区二区三| 精品一区二区三区电影| 日韩在线视频观看| 日韩高清av一区二区三区| 亚洲影视中文字幕| 日韩电影中文字幕av| 57pao成人永久免费视频| 亚洲第五色综合网| 91九色视频在线| 国产亚洲精品日韩| 亚洲国产99精品国自产| 91精品久久久久久久久中文字幕| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产高清福利视频| 亚洲一区中文字幕| 午夜精品久久久久久久99热浪潮| www日韩中文字幕在线看| 九九视频直播综合网| 97在线免费观看视频| 欧美成人精品h版在线观看| 中文在线不卡视频| 亚洲国产日韩欧美在线动漫| 成人看片人aa| www.午夜精品| 亚洲国产精品va在线看黑人动漫| 国产99久久精品一区二区永久免费| 久久婷婷国产麻豆91天堂| 正在播放欧美视频| 亚洲热线99精品视频| 欧美亚洲午夜视频在线观看| 国产精品欧美激情| 日韩成人性视频| 欧美成人亚洲成人| 亚洲人在线观看| 精品福利在线看| 久久久久久亚洲精品中文字幕| 亚洲欧美日韩区| 97在线观看视频| 久久久视频精品| 日韩精品免费观看| 亚洲级视频在线观看免费1级| 欧美日韩亚洲一区二区三区| 国产欧美日韩免费看aⅴ视频| 国产精品高潮呻吟久久av无限| 日韩av黄色在线观看| 国产一区二区免费| 欧美视频专区一二在线观看| 日韩精品电影网| 九九热最新视频//这里只有精品| 日韩av电影免费观看高清| 亚洲最大的网站| 精品国产91久久久| 国产日韩欧美在线| 欧美激情视频在线免费观看 欧美视频免费一| 国产亚洲一区精品| 欧美成人午夜免费视在线看片| 亚洲美女av在线播放| 青青在线视频一区二区三区| 日韩亚洲精品视频| 日韩av成人在线| 狠狠色狠狠色综合日日小说| 久久精品99无色码中文字幕| 在线播放国产精品| 91社区国产高清| 2020国产精品视频| 91麻豆国产语对白在线观看| 欧美大肥婆大肥bbbbb| 亚洲精品xxxx| 国产成人91久久精品| 日韩在线中文视频| 国产精品国产三级国产aⅴ9色| 8x海外华人永久免费日韩内陆视频| 91精品久久久久久久久不口人| 欧美日韩国产一区中文午夜| 在线观看日韩视频| 中文字幕视频在线免费欧美日韩综合在线看| 中文字幕久久亚洲| 国产成人久久久精品一区| 亚洲欧美日韩成人| 国产精品三级久久久久久电影| 亚洲成人999| 亚洲色图激情小说| 91av在线精品| 成人97在线观看视频| 欧美性生交大片免费| 欧美中文字幕在线观看| 欧美裸体xxxx极品少妇软件| 亚洲色图日韩av| 在线观看日韩专区| 91精品国产高清久久久久久久久| 欧美电影在线观看网站| 青青草一区二区| 78色国产精品| 伊人成人开心激情综合网| 亚洲欧美自拍一区| 国产日韩精品在线播放| 色系列之999| 色香阁99久久精品久久久| 亚洲人成电影网站| 亚洲欧美日韩国产成人| 国产成人啪精品视频免费网| 欧美精品久久久久a| 欧美大荫蒂xxx| 国产成一区二区| 久久精品视频在线播放| 热久久这里只有精品| 国产精品久久综合av爱欲tv| www.国产精品一二区| 国产一区二区丝袜| 久操成人在线视频| 欧美麻豆久久久久久中文| 国产精品欧美一区二区三区奶水| 在线播放国产一区中文字幕剧情欧美| 成人国产精品久久久久久亚洲| 国产成人福利夜色影视| 成人有码在线播放| 97国产成人精品视频| 另类专区欧美制服同性| 欧美午夜女人视频在线| 亚洲成人黄色网址| 91高清视频免费观看| 国产一区二区在线免费| 91精品视频一区| 亚洲精品在线视频| 国产精品免费久久久久影院| 国产精品私拍pans大尺度在线|