15,472
社区成员
发帖
与我相关
我的任务
分享
UINT WINAPI DyncMonitorA()
{
CDataProcess dataA;
CChannelA datamemo;
while (1)
{
dataA.DataToArray_A(datamemo.DataMemo);
}
return 0;
}
void CDataProcess::DataToArray_A(BOOL a[50][45])
{
HRESULT hr;
_variant_t RecordsAffected;
long tempslotnum;
int x,y; //存储对应对应时隙的方格所在矩阵的XY值;
/************************************************************************/
/* 连接数据集 */
/************************************************************************/
try
{
hr = m_pRecordset.CreateInstance(__uuidof(Recordset));
if (SUCCEEDED(hr))
{
// hr = m_pRecordset->Open("SELECT * FROM TEXT",
// theApp.m_pConnection.GetInterfacePtr(),
// adOpenDynamic,
// adLockOptimistic,
// adCmdText);
//////////////////////////////////////////////////////////////////////////
// 将A信道,TIMEOUT = 2,4,6;的数据取出(SLOTNUM,TIMEOUT,CHANNEL) //
//////////////////////////////////////////////////////////////////////////
m_pRecordset = theApp.m_pConnection->
Execute("SELECT SLOTNUM,TIMEOUT,CHANNEL FROM SLOT WHERE CHANNEL = 'A' AND(TIMEOUT = 2 OR TIMEOUT = 4 OR TIMEOUT = 6)",
&RecordsAffected,
adCmdText);
}
}
catch (_com_error &e)
{
AfxMessageBox(e.Description());
}
/************************************************************************/
/* 调用数据库信息处理 */
/************************************************************************/
try
{
while(!m_pRecordset->adoEOF)
{
tempslotnum = m_pRecordset->GetCollect("SLOTNUM");
x = GetGraphX(tempslotnum);
y = GetGraphY(tempslotnum);
a[x][y] = TRUE;
SendMessage(AfxGetMainWnd()->m_hWnd,WM_PAINT,0,0);
m_pRecordset->MoveNext();
}
return;
}
catch (_com_error &e)
{
AfxMessageBox(e.Description());
}
}
class CSlotMonitorTempletApp : public CWinApp
{
public:
_ConnectionPtr m_pConnection;
这个线程我没有传入函数。。。您的意思是
CDataProcess dataA;
CChannelA datamemo;这两个参数是要用结构体传入么?
调用了void CDataProcess::DataToArray_A(BOOL a[50][45]),是不是还需要传入一些参数?我判断不好