多线程 (初始化连接数据库 有自己的Splash 显示图片)
// Thread in MySplash Init
HWND hWnd=this->GetSafeHwnd();
m_pThread=AfxBeginThread(MyAdoConnect,hWnd,THREAD_PRIORITY_NORMAL);//启动线程THREAD_PRIORITY_HIGHEST
m_pThread->m_bAutoDelete=FALSE; //线程为手动删除
// 线程函数
UINT MyAdoConnect(LPVOID pParam)
{
// COM初始化
::CoInitialize(0);
_ConnectionPtr pConn;
HRESULT hr;
hr = pConn.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
try
{
pConn->ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=LMS;Persist Security Info=True;User ID=LMS;Data Source=oradb1";//设置连接字符串
pConn ->ConnectionTimeout = 10; //设置连接的超时时间,可选
pConn ->CursorLocation = adUseServer; //设置光标的位置,可选
pConn ->Open("","","",-1);
}
catch(_com_error& e)
{
CString StrErr;
StrErr.Format("出错,连接数据库错误~\n错误:%s",e.ErrorMessage());
AfxMessageBox(StrErr);
::PostMessage( (HWND)pParam,WM_CLOSE,0,0);
bpConn = false;
return FALSE;
}
}
theApp.SetConn(pConn);
::PostMessage( (HWND)pParam,WM_CLOSE,0,0);
bpConn = true;
return TRUE;
}
[VB.NET程序]ADO 在informix的 Addnew [VB.NET程序]ADO 的测试 [VB.NET程序]ADO 揭密 1 [Web开发][ADO]如何修改ADO的线程模型 [Web开发]Delphi7下仿Ado.Net类的实现 [Web开发]通过COM使用ADO [Web开发]ADO & ADO.NET中使用存储过程的两个共用的函数 [Web开发]Binding a DataGrid to an ADO Recordset [Web开发]ADOCE for ADO Programmers [Web开发]Delphi多线程下的ADO编程
|