转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
使用ADO,多线程访问ACCESS数据库的开发。         ★★★★

使用ADO,多线程访问ACCESS数据库的开发。

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1955 更新时间:2009/4/23 10:50:20
p;       //连接第二个线程时这里出现问题

            if (fieldbyname(''''Phone'''').asstring='''''''')or (fieldbyname(''''Name'''').asstring='''''''')or (fieldbyname(''''SkillLevel'''').asstring='''''''')then
               begin
             showmessage(''''nil'''');
                  Fnmmsg.Disconnect;
                  Fnmmsg.Host:= FIPaddressinfo;
                  Fnmmsg.Port :=6711;
                  Fnmmsg.FromName :=''''b'''';
                  Fnmmsg.PostIt(defeat);  //发送错误消息
                  close;
               end

           else    //如果找到了电话号码
               begin

                   strlist.add(fieldbyname(''''Name'''').asstring);  //写入姓名
                   SkillInfor:=fieldbyname(''''SkillGroup'''').asstring;
                   strlist.add(fieldbyname(''''SkillGroup'''').asstring+''''业务处理=''''+fieldbyname(''''SkillLevel'''').asstring); //上海市业务处理=1
                   strlist.Add(fieldbyname(''''Phone'''').asstring);  //写入电话号码
                 
                   RetureInformation :=strlist.Strings[0]{工号}+''''#''''+strlist.Strings[1]{姓名}+''''#''''+strlist.Strings[2]+''''#''''{技能信息}+strlist.strings[3]{电话号码};
                   //edit;                      //烦会给客户端的信息
                  // fieldbyname(''''IsLogon'''').asstring:=''''1''''; //登录成功,写入成功标志
                  // Post;

                   FNMretureMSG.Disconnect;
                   FNMretureMSG.Host :=FIPaddressinfo;
                   FNMretureMSG.Port:=6722; //回传信息远程端口为6722;
                   FNMretureMSG.PostIt(RetureInformation);  //返回成功的信息


/·······························
   {进行查询工作组信息,然后传送信息}
                   if active =true then close;
                   sql.clear;
                   SQL.Add(''''SELECT * FROM WORKER WHERE SkillGroup=''''+''''"''''+SkillInfor+''''"'''');
                   open;
                
                   WorkGroupUserInfor:=Tstringlist.create;

                 while not eof do
                  begin
                   WorkGroupUserInfor.Add(fieldByName(''''Name'''').asstring ); {index0 name}
                   WorkGroupUserInfor.Add(fieldByName(''''WorkMark'''').asstring ); {index1 workmark}
                   WorkGroupUserInfor.Add(fieldByName(''''Phone'''').asstring );    {index2 Phone}
                   WorkGroupUserInfor.Add(fieldByName(''''SkillGroup'''').asstring +''''业务处理=''''+fieldbyname(''''SkillLevel'''').asstring);{index3 SkillGroup}
                   IPlist.Add(fieldbyname(''''IPaddress'''').asstring); ://所有的ip地址保留到内存中
                   //showmessage(fieldbyname(''''IPaddress'''').asstring);
                   iplist.SaveToFile (fieldByName(''''SkillGroup'''').asstring+''''IPlst.INI'''');
                   next;
                 end;
                 WorkGroupUserInfor.SaveToFile(fieldByName(''''SkillGroup'''').asstring+''''.ini'''');
                 close;
             end;
          end;
     end;
   end;
  except      //防止查询失败
    begin
      FAdoQuery.close;
      FAdoQUserInfor.close;
   end;
 end;

 end;

end.
注意:使用这两个函数应该加上activex.pas单元,否则,无法运行。

我个人认为,如果开发基于ADO的多线程操作,最好在每个线程中放置一个连接,而数据集和数据连接都使用动态生成,当然你必须要注意必须要保证线程能过正常的释放,否则你的电脑很快就快死机了,呵呵,当然还有第二种方法,你可以生成一个数据模块,静态放置数据集和ADOCONNECTION组件,然后使该数据模块不在程序开始时生成,而可以在线程中动态的生成,这种方法也可以,有兴趣的朋友可以试一下二者之间的执行效率。

而对于ADO,我认为在开始情况下,如果不初始函数和后来的释放函数,却不能报错,应该是一个BUG吧。

谢谢关注:

QQ:53997882欢迎大家互相交流

上一页  [1] [2] 


[其他]手工升级ACCESS到SQLSERVER方法详解  [Web开发]把ACCESS的数据导入到Mysql中的方法详解
[C语言系列]SQL Server连接ACCESS数据库的实现  [C语言系列]应用 SQLServer 链接服务器访问远程 Access 数据库
[VB.NET程序]WindowsForm登陆窗体的制作(Vb.net+Access)  [VB.NET程序]在VB.NET中使用MS Access存储过程 — 第二部份
[VB.NET程序]在VB.NET中使用MS Access存储过程 — 第一部份  [VB.NET程序]如何在Visual Basic 6.0 中连接加密的Access数据库
[Delphi程序]Delphi Access violations 问题的解决之道  [Delphi程序]Delphi操作ACCESS技巧集
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台