Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1027604
  • 博文数量: 288
  • 博客积分: 10306
  • 博客等级: 上将
  • 技术积分: 3182
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-12 17:00
文章分类

全部博文(288)

文章存档

2011年(19)

2010年(38)

2009年(135)

2008年(96)

我的朋友

分类: C/C++

2009-08-20 09:02:38

完整的步骤: 
一、新建成对话框程序gridtest,在对话框中加入ADO DataGrid控件。 
二、加入ADO封装类。可从这里下载ADO2。H或AOD2。CPP 
http://www.vckbase.com/document/viewdoc/?id=1164 
三、在要使用到的主对话框中文件中加入代码
C/C++ code
Dlg.h //--------------------------------------------------- class CTestGridDlg : public CDialog { // Construction public: CADORecordset m_Rs;//新增变量 CADODatabase m_DBCn;//新增变量 CTestGridDlg(CWnd* pParent = NULL); // standard constructor //------------------------------------------------------- Dlg[code=C/C++]
.cpp中 

// TODO: Add extra initialization here 


CString strConnection; 
//strConnection.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;") 
//_T("Data Source=note.mdb")); 


strConnection.Format(_T("Provider=SQLOLEDB;Server=dataserver.;Database=youdb;uid=sa;pwd=youpassword")); 

m_DBCn.Open((LPCTSTR)strConnection); //打开程序数据库 
m_Rs.SetDatabase(&m_DBCn); 
m_Rs.Open(_T("select * from yourtables;")); 

m_ctrlDG.SetCaption(_T("单击列头进行排序"));//m_ctrlDG.为datagrid的变量。 
m_ctrlDG.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset()); 

[/code] 

四、在gridtest.cpp中的。BOOL CGridtestApp::InitInstance(){ 
//加入 
AfxEnableControlContainer(); 
::CoInitialize(NULL);//加入COM初始化代码。 

。。。 


::CoUninitialize();//加入这句 
return FALSE; 

不做这四步。编译不会出错,运行时提示无效指针,数据库初始化出错什么。 

总结这些是为了备忘。 
阅读(1630) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~