WEB开发网
开发学院软件开发VC 一个好用的VC DBGRID 阅读

一个好用的VC DBGRID

 2007-11-01 20:23:02 来源:WEB开发网   
核心提示:在上面的代码中,调用了COdbcDBGRIDFILE的构造函数,一个好用的VC DBGRID(4),它的原型是COdbcDBGRIDFILE::COdbcDBGRIDFILE(CGridCtrl *pGrid , CDatabase *pDatabase, CString strSql, CString strFile

在上面的代码中,调用了COdbcDBGRIDFILE的构造函数,它的原型是

COdbcDBGRIDFILE::COdbcDBGRIDFILE(CGridCtrl *pGrid , CDatabase *pDatabase, CString strSql, CString strFilePath),其中的参数的含义如下

CGridCtrl *pGrid-------是一个指向CGridCtrl的指针

CDatabase *pDatabase------是一个指向Cdatabase的指针,你必须把一个已经连接好的Cdatabase的对象传递进去。

CString strSql------是一个查询语句,如select * from emp;

CString strFilePath-----是一个用于生成内存映射文件的文件的路径

步骤五

为CDemo2Dlg加入成员函数SetGridItem(pDispInfo),这个函数是CDemo2Dlg::OnNotify()中调用的,我们用它来设置显示记录数据。

void CDemo2Dlg::SetGridItem(GV_DISPINFO *pDispInfo)
{
   /*
   在这儿你可自己进行设置,如第一行为查询的字段中文名,
   第一行为行的序号等,如果你不进行设置,那么默认会取每
   个查询得到的字段名,每一行的序号
   */
   m_pMapFile->SetGridText(pDispInfo);
   /*
   上面的函数只是用来得到了本来,你还可以用它来进行另
   外一些属性,如当超过一定的值是显示DBGRID的不同的前
   景色和前景色等
   */
}

步骤六

添加成员函数Release(),下面是它的代码,用于释放资源

void CDemo2Dlg::Release()
{
   if(this->m_pMapFile)
   {
     m_pMapFile->Release();
     m_db.Close();
     delete m_pMapFile; m_pMapFile = NULL;
   }
}

在上面的代码中 m_pMapFile->Release()是COdbcDBGRIDFILE的成员函数,用于释放所有的资源。

步骤七

添加对话框的消息响应函数OnClose(),释放所有资源

void CDemo2Dlg::OnClose()
{
   this->Release();
   CDialog::OnClose();
}

完成好上面的工作,你就可以编译运行了,在上面的编辑框上输入数据源名、用户名、口令和查询的sql语句,你就可以试试效果了,你可以找一张大一点的表,最好有几十万条记录来测试一下,这个DBGRID怎么样。

四、总结

使用这个DBGRID的好处在于我们在查询时,不需要进行先绑定的操作,而且它比微软的DBGRID控件方便多了,希望它能为我们用VC开发数据库项目提高一点效率。如果你看过上一篇文章,用类CMYODBC和CODBCSet来代替MFC的CDatabase和CRecordset的话,那么运行的效率会有很大的提高,我也写了一个相似的类CMyODBCDBGRIDFile,并且用这个类做了一个样例,就是文章篇头提供的配套代码二。

上一页  1 2 3 4 

Tags:一个 好用 VC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接