SQL到这里后就死循环了,程序窗体出不来

ohfox 2005-11-17 02:20:47
ConnectDB()是 OnInitDialog()程序中最后调用的一个函数

void CIndustryDlg::ConnectDB()
{

if(m_pConnection)
m_pConnection->Close();
//初始化Connection 指针
m_pConnection.CreateInstance (_uuidof(Connection));
m_pRecordset.CreateInstance (_uuidof(Recordset));

try
{
CString strConnect;
strConnect.Format ("Provider=SQLOLEDB.1;Password=%s;User ID=%s;Data Source=%s;Persist Security Info=True",m_strDBPwd,m_strDBUser,m_strDBSource);

//连接数据库
m_pConnection->Open ((_bstr_t)strConnect,"","",-1); //**********************

}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage ());
}


调试发现运行到***********的那一行后就不动了,最后的窗体也出不来,在任务管理器中可以看到进程,请问这是为什么啊?
...全文
223 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckbird 2005-11-21
  • 打赏
  • 举报
回复
只要你指定的服务器是存在的,但连不上数据库,那很快就会返回错误信息的。
如果指定的服务器根本不存在,那就会比较慢了,但一般也就是二十秒左右吧?
ohfox 2005-11-21
  • 打赏
  • 举报
回复
线程的东西........有点烦人阿
ohfox 2005-11-21
  • 打赏
  • 举报
回复
我现在这个connectingstring的问题是,如果里面格式错误了,那么程序就死掉了,窗体弹不出来
ohfox 2005-11-21
  • 打赏
  • 举报
回复
m_pTreeConn->ConnectionTimeout = 8;

当我这样设置后,探出的是"未指定的错误",这是为什么? 没法控制探出的对话框的格式阿
shmily1280 2005-11-21
  • 打赏
  • 举报
回复
在m_pConnection.CreateInstance (_uuidof(Connection));后加
m_pTreeConn->ConnectionTimeout = 8;(8为超时时间,毫秒还是秒偶不知道.)
在这个时间内不成功的话,就会到弹出对话框的
lizmei001 2005-11-21
  • 打赏
  • 举报
回复
连接不上数据库应该不会很久的
ohfox 2005-11-21
  • 打赏
  • 举报
回复
如果我关掉SQL Server,那一段时间后,大概10s,就会出现"未指定的错误".....到底咋整阿?
karman 2005-11-20
  • 打赏
  • 举报
回复
要确实超时后才知道连不上,而且这个Open并不是异步操作,所以如果因为无法连接服务器等原因导致连接失败的,这段连接时间必须等待。

除非你把连接过程放到线程中,自己计时超时后将该线程强制中止掉。
ohfox 2005-11-20
  • 打赏
  • 举报
回复
当出现连接不上的情况时候,我怎么判断,并在一个合适的时间内终止连接,并且弹出提示呢?

sunj_study 2005-11-18
  • 打赏
  • 举报
回复
mark
ohfox 2005-11-18
  • 打赏
  • 举报
回复
知道原因了,是Date Source写错了,连接不上

可是当出现连接不上的情况时候,我怎么判断,并在一个合适的时间内终止连接,并且弹出提示呢?

像我开始这样,连不上,对话框就出不来,和死了一样
ohfox 2005-11-18
  • 打赏
  • 举报
回复
超时的话,我的那个对话框是不是应该弹出来呢?
jjiaming 2005-11-17
  • 打赏
  • 举报
回复
是不是连接超时?
chenyulin 2005-11-17
  • 打赏
  • 举报
回复
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧