现在的位置: 首页 > 综合 > 正文

想到文本在写库

2013年08月27日 ⁄ 综合 ⁄ 共 2052字 ⁄ 字号 评论关闭
 //如果是目录。递归向更低层次查找
FFIND(ff.GetFilePath()+"//*.*");
}

else if(!ff.IsDirectory() && !ff.IsDots())
{
//是文件则,写数据库 File Info

CFileStatus rStatus;//File Info structure Type

if(CFile::GetStatus(ff.GetFilePath(),rStatus)){

CString strSql;// access Data Base operate
CString FileName = ff.GetFileName();
FileName.Replace("'","''");
CString FilePath = ff.GetFilePath();

FilePath.Replace("'","''");
strSql.Format("insert into File([filename],[path],[filesize],[modified],[lastaccess],[create]) values('%s','%s','%d','%d','%d','%d')"
,FileName,FilePath,rStatus.m_size,rStatus.m_mtime
,rStatus.m_atime,rStatus.m_ctime);

//Execute

try{
//Thread Error Link Error ;
m_pConnection->Execute((LPCTSTR)strSql,&vFieldName,adCmdText);
}catch(_com_error e)
{
AfxMessageBox(e.Description());
long errorCode=e.WCode();
if(3127==errorCode) AfxMessageBox("表不存在");
if(3092==errorCode) AfxMessageBox("表已经存在");
return;
}

}
}//else if

}
ff.Close();
}
搜索C盘所有 文件数= 49178 目录= 4359 大概6.77 GB大小的盘 居然花费拉8分钟

CPU还是高高在上怎么样能把CPU让出来效率上有很大的提高那?

/////////////////////////
/*MSG msg;
if(::GetMessage(&msg,NULL,0,0)){
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}*/
//////////////////////////

这段加到里面CPU是下来拉 但是是出奇的慢.

<---->

响应者 1:
单处理器系统不能提高速度,只是不影响前台操作.
呵呵,楼主的代码经典,收藏.

<---->

响应者 2:
UINT TreadWriteDatabase(LPVOID lparam)
{ //线程 启动去扫描.我没用线程的时候cpu 100%
CMFCADODlg *pDlg=(CMFCADODlg*)lparam;
pDlg->FFIND("c://*.*");
AfxMessageBox("扫描完成");
}

线程函数没有return,居然能运行~_~

<---->

响应者 3:
恩运行拉~我不知道刚10天你说能学着什么啊。我就是大概看看以前做JAVA的。return哦~那和效率没什么关系吧。

<---->

响应者 4:
循环中加sleep(1)

<---->

响应者 5:
cpu 占用率和开线程无关,要用sleep或其他函数让线程短暂挂起,让出cpu

<---->

响应者 6:
HANDLE m_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);
楼主,在主里这个事件好像没有用到,你把它注释了看一看.呵呵,我也是猜想,不知道对不对

<---->

响应者 7:
加seelp error C2065: 'sleep' : undeclared identifier

HANDLE m_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);

//WaitForSingleObject(m_hEvent,1);

注释下去拉没贴上来感觉也没什么用.怎么搞那这个东西有点越来越有兴趣研究拉.

<---->

响应者 8:
HANDLE m_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);

//WaitForSingleObject(m_hEvent,1);

cpu 下来拉但是速度更慢拉.

因该对数据库找找原应吧.怎样搞?

<---->

响应者 9:
up up up 帖子不能这么潜水拉.!!!!

<---->

响应者 10:
你把数据库处理部分注释了看一看吧

<---->

响应者 11:
处理没拉速度想当的快拉.怎么解决数据库写如慢的问题呀?

想到文本在写库?有好资料瞧瞧.我先瞧瞧去.

<---->

响应者 12:
高手啊。ADO数据库操作如何能快速有什么办法嘛?

<---->

响应者 13:
关注~!

<----><---->

<---->

【上篇】
【下篇】

抱歉!评论已关闭.