CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

100分求助急急急!!!谁先解决全给他。ADO“连接占线导致另一个hsmt”的问题

楼主kkbws(酒池肉林)2005-11-03 08:07:37 在 VC/MFC / 数据库 提问

以下函数在执行时出现“连接占线导致另一个hsmt"的错误,不知道什么原因?pr是一个_RecordsetPtr对象,此函数每次连续执行1000次。因为是在用户与服务端建立网络连接时提取一千条记录发送给用户。请各位大哥帮帮忙,困扰了一个月了。数据库用的sql   server2000  
   
  void   CMySocket::ReturnMsg()  
  {  
  box   *p=new   box;  
  try  
  {  
  if(!pr->adoEOF)  
  {  
  COleDateTime   t1;  
  long   itemid,userid,state;  
  short   infotype,hyclass;  
  CString   content,dateandtime,phone,username;  
  _variant_t     vitemid,vcontent,vtime,vphone,vuserid,vinfotype,vhyclass,vname,vstate;  
   
  vitemid=pr->GetCollect("id");    
  vuserid=pr->GetCollect("user_id");  
  vhyclass=pr->GetCollect("hyuser_class");  
  vinfotype=pr->GetCollect("info_type");  
  vcontent=pr->GetCollect("content");    
  vtime=pr->GetCollect("dateandtime");    
  vphone=pr->GetCollect("phone");  
  vname=pr->GetCollect("username");    
  vstate=pr->GetCollect("state");    
  t1=vtime;  
   
  itemid=vitemid.iVal;  
  userid=vuserid.iVal;  
  infotype=vinfotype.iVal;  
  hyclass=vhyclass.iVal;  
  state=vstate.iVal;    
   
  content=vcontent.bstrVal;  
  username=vname.bstrVal;  
  username.TrimRight();    
  phone=vphone.bstrVal;  
  dateandtime=t1.Format("20%y-%m-%d   %H:%M:%S");  
   
   
   
  CString   sql1;  
  sql1.Format("(%d,%d,%d,'%s',#%s#,'%s','%s',%d,%d)",userid,hyclass,infotype,content,dateandtime,phone,username,itemid,state);  
                    p->length=sql1.GetLength();  
  strcpy(p->remark,sql1);    
     
  p->boxtype=9;  
  this->Send(p,sizeof(box));    
  Remain_Data--;  
  pr->MoveNext();          
  }  
  else  
  {  
  // if(pr->State)   pr->Close();  
  SendNotify();  
  SendLeaveWords();  
  }  
   
  }  
  catch(_com_error   error)  
  {  
                  CString   errorMessage;  
                  errorMessage.Format("%s",(LPTSTR)error.Description());  
                  AfxMessageBox("返回信息错误");  
  AfxMessageBox(errorMessage);  
  }  
  } 问题点数:100、回复次数:15Top

1 楼bohut(●伯虎● )回复于 2005-11-03 08:24:57 得分 0

打开数据库连接的代码怎么写的?Top

2 楼kkbws(酒池肉林)回复于 2005-11-03 08:44:31 得分 0

pconn->Open("driver={SQL   Server};Server=wysc;DATABASE=mainbase;UID=wyscnetadmin;PWD=admin3005","","",adModeUnknown);Top

3 楼bohut(●伯虎● )回复于 2005-11-03 08:49:09 得分 0

打开结果集的代码呢?Top

4 楼kkbws(酒池肉林)回复于 2005-11-03 08:57:18 得分 0

char   sql[1000];  
   
  try  
  {  
  strcpy(sql,sqlparam);  
  if(pr->State)pr->Close();      
  pr->Open(sql,_variant_t((IDispatch   *)pconn,true),adOpenStatic,adLockOptimistic,adCmdText);    
  Remain_Data=pr->GetRecordCount();    
  if(Remain_Data>0)  
  {  
  box   *p=new   box;  
  p->boxtype=10;  
  this->Send(p,sizeof(box));    
   
   
  }  
                   
  }  
   
  catch(_com_error   error)  
  {  
                  CString   errorMessage;  
                  errorMessage.Format("%s",(LPTSTR)error.Description());  
                  AfxMessageBox("获得新消息错误");  
  AfxMessageBox(errorMessage);  
  } Top

5 楼bohut(●伯虎● )回复于 2005-11-03 09:02:39 得分 0

试试:  
  pr->Open(sql,_variant_t((IDispatch   *)pconn,true),adOpenDynamic,adLockOptimistic,adCmdText);Top

6 楼kkbws(酒池肉林)回复于 2005-11-03 09:05:46 得分 0

哦说明一下每个网络连接都有自己的_RecordsetPtr互相之间不干扰,但共享一个_ConnectionPtr  
   
  多个用户可能同时登录Top

7 楼kkbws(酒池肉林)回复于 2005-11-03 09:12:33 得分 0

兄台,照你那样做连一条数据都不显示了Top

8 楼bohut(●伯虎● )回复于 2005-11-03 09:15:42 得分 0

如果可能的话,请将代码发至bohut@163.com,  
  数据库的备份也一起发过来,希望能帮到你。Top

9 楼kkbws(酒池肉林)回复于 2005-11-03 09:32:08 得分 0

好的Top

10 楼kkbws(酒池肉林)回复于 2005-11-03 09:57:43 得分 0

bohut老兄,邮件我已经发了,请验收,麻烦您了,万分感谢。Top

11 楼kkbws(酒池肉林)回复于 2005-11-03 10:47:29 得分 0

继续求帮助,各位大佬帮帮忙,啊,好急啊,再加100分Top

12 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-12-04 17:11:25 得分 100

是不是操作太多,造成资源不够等Top

13 楼kkbws(酒池肉林)回复于 2005-12-04 17:13:16 得分 0

应该不会啊,操作也不是很多啊。没秒也就十几个包Top

14 楼kkbws(酒池肉林)回复于 2005-12-04 17:13:52 得分 0

我以前做了一个,没有这个问题啊,连接很正常。Top

15 楼kkbws(酒池肉林)回复于 2005-12-04 17:14:21 得分 0

七猫没来,不等他了,把分全给你。Top

相关问题

  • 一个ADO数据库运行错误,谁先解决立即给分
  • 谁先到,谁先抢。very easy
  • 这回看谁先
  • 100分,在线等,解决即放,谁先解决全给他.ACCESS的like语句嵌入ADO对象的问题.
  • 哈哈哈哈~~谁先到????
  • 谁先抢了圆明园?
  • 一个简单的问题,谁先答谁先得分哦!
  • ADO
  • ADO?????
  • ado

关键词

  • 连接
  • getcollect
  • vinfotype
  • vhyclass
  • vitemid
  • vuserid
  • pr
  • ival
  • vtime

得分解答快速导航

  • 帖主:kkbws
  • oyljerry

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo