高分求助:DBGrid控件

rib06 2002-05-23 11:47:01
我想在窗口中显示某一个数据库中的表的内容,打算用一个DBGrid控件,可是不会设它的数据来源,(我用ODBC,ADO的我会)而且这个控件对应的类中有那么多成员函数,也不知道是什么意思。而且我还想在菜单中可以选择显示库中的哪一个表的内容,这对应的事件处理程序又应如何写?我是初学者,很菜的,请大家说详细点,分不是问题!谢了先
...全文
50 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rib06 2002-05-27
  • 打赏
  • 举报
回复
ok!!多谢!给分!
masterz 2002-05-27
  • 打赏
  • 举报
回复
create another recordset to open that table, set dbgrid datasource to the second recordset.
pRst2->Open(
"anothertable",
_variant_t((IDispatch *) pConn, true),
adOpenStatic,
adLockReadOnly,
adCmdTable);
m_grid.SetRefDataSource(pRst2.Detach());
rib06 2002-05-26
  • 打赏
  • 举报
回复
ADO就ADO吧。
那么我还有另外一个问题:假设DBgrid已经和某一数据源绑定,那我感觉如果想让DBgrid中按要求显示不同的表时,它应该有一个成员函数,这个成员函数有一个参数,是sql语句字符串,以实现从不同的表中select,请问又没有这个函数?如果有,是什么,如果没有,那么上述的功能怎么实现?
多谢!!(其实我是因为项目的库很小才想用ODBC,但既然masterz推荐ado,那就改!)
masterz 2002-05-26
  • 打赏
  • 举报
回复
use ADO is easy than MFC ODBC CRecordset class, because DBGrid is an activex control, it accept ADO Recordset, not MFC CRecordset.
if you insist on using CRecordset, you can refer to
http://codeguru.earthweb.com/mfc_database/unbound_dbgrid.shtml
Using DBGrid in unbound mode
rib06 2002-05-26
  • 打赏
  • 举报
回复
to:masterz,thank you!!
我观察以上代码,您似乎使用了ado,但我在appwizard中已经设置了odbc数据源,然后我打算在DBgrid控件中显示数据源中某一表的内容,是不是不用再#import ado了?请指教,先谢了
masterz 2002-05-23
  • 打赏
  • 举报
回复
// set datasource of DBGrid dynamically

void CDgDlg::OnOK()
{

//notes : call AfxOleInit in CXXApp::InitInstance()
// I also add a line in stdafx.h
//#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
try
{
_ConnectionPtr pConn("ADODB.Connection");
_RecordsetPtr pRst("ADODB.Recordset");
pConn->Open("Provider=sqloledb;Data Source=Dell1;"
"Initial Catalog=testdb;User Id=sa;Password=;",
"", "", adConnectUnspecified);
pRst->Open(
"table1",
_variant_t((IDispatch *) pConn, true),
adOpenStatic,
adLockReadOnly,
adCmdTable);
//CDataGrid m_grid; is a member of CDgDlg.
m_grid.SetRefDataSource(pRst.Detach());
}
catch (_com_error &e)
{
char mybuf[10240];
wsprintf(mybuf,"Description = '%s'\n", (char*) e.Description());
AfxMessageBox(mybuf);
}
}

16,471

社区成员

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

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

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