您的位置:首页 > 数据库

粗谈使用ADO接口连接数据库

2008-10-22 22:31 429 查看
在这个工程中使用ADO接口进行数据库应用程序开发所得到的程序是一个单击按钮后在列表框里显示所要查看的数据库里所有的表名。
简要步骤如下:
1、新建一个基于对话框的应用程序,工程名取为adodatabase。
2、向窗体中添加一个EidtBox控件、一个ListBox控件、一个Button控件。
3、为编辑框和列表框连接变量m_edit和m_list,为对话框类CAdodatabaseDlg添加 _RecordsetPtr m_pRecordset和_ConnectionPtr m_pConnection两个对象指针。
4、在StdAfx.h文件的头部添加语句#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF"),提供所要包含的类型库的路径和名称。
5、在菜单栏中执行“工程”----“添加工程”----“Component and Controls Gallery",打开Component and Controls Gallery对话框,在Registered ActiveX Controls中分别选中Microsoft ADO Data Control, version 6.0 (OLEDB)和Microsoft DataGrid Control, Version 6.0 (OLEDB)两种控件,把它们的CAdodc类和CDataGrid类分别插入到工程中。
6、在对话框类CAdodatabaseDlg中新建两个成员函数void CAdodatabaseDlg::OnInitADOConn(CString strsjk)和void CAdodatabaseDlg::ExitConnect(),
前者用于初始化ADO连接,后者用于寻出连接。代码如下:
void CAdodatabaseDlg::OnInitADOConn(CString strsjk)
{
::CoInitialize(NULL);
CString strname;
strname.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=.",strsjk);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect=strname;
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}

void CAdodatabaseDlg::ExitConnect()
{
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
}
7、为按钮建立单击事件响应函数void CAdodatabaseDlg::OnButton1() ,代码如下:
void CAdodatabaseDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(true);
m_list.ResetContent();
OnInitADOConn(m_edit);
_bstr_t bstrSQL;
bstrSQL="select*from sysobjects where xtype='U'";
CString strText;
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
strText=(char*)(_bstr_t)m_pRecordset->GetCollect("name");
m_list.AddString(strText);
m_pRecordset->MoveNext();
}
ExitConnect();
}
8、至此,程序本身的编写工作已完全完成,接下来的事就是为程序建立一个可供调用的数据库。在这里我采用的是SQL Server 2000。如果已经有现成的数据库,只要在企业管理器里面将其调入即可用。

学习是件很辛苦的事,尤其是当只有你一个人在做这件事而你身边的人都在做别的什么事情,或者完全是无所是事的时候。我学习MFC方面的时间不长,基础不好,真正能用到这上面的时间也不能得到保证,因为还有许多别的事情要做。从真正自学这些个人现在觉得有一点实际用途的东西后到现在,两个月啦吧,掌握得比较好的也就工具栏、树形视图控件,还有刚才学会的ADO接口连接数据库。不用说也知道,这个效率是相当相当的低啊。不过我不在乎,至少我没有一天到晚不知道自己要做什么,没有“三天打鱼,两天晒网”,到目前为止还算是在坚持着。不管未来怎么要,我一定要做到——不能浪费我的大好时光。哦耶!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: