粗谈使用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接口连接数据库。不用说也知道,这个效率是相当相当的低啊。不过我不在乎,至少我没有一天到晚不知道自己要做什么,没有“三天打鱼,两天晒网”,到目前为止还算是在坚持着。不管未来怎么要,我一定要做到——不能浪费我的大好时光。哦耶!!!
简要步骤如下:
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接口连接数据库。不用说也知道,这个效率是相当相当的低啊。不过我不在乎,至少我没有一天到晚不知道自己要做什么,没有“三天打鱼,两天晒网”,到目前为止还算是在坚持着。不管未来怎么要,我一定要做到——不能浪费我的大好时光。哦耶!!!
相关文章推荐
- VC中用Ado接口代码连接和使用与数据库
- VC用Ado接口连接和使用数据库及注意事项
- VC用Ado接口连接和使用数据库及注意事项
- 使用ADO.NET连接数据库(一)
- VB使用ADO对象连接数据库
- vc使用ADO连接数据库 ADODB中的RecordSet.Open打开记录的两个参数adOpenKeyset、adLockBatchOptimistic的说明:
- 在DLL中使用ADO连接数据库的问题
- MFC中使用ADO方式连接数据库
- c++控制台 使用ado连接数据库
- 连接数据库和vb的ADO的通常使用
- ACCP学习旅程之-----使用C#开发数据库应用程序(第六章 用ADO.NET连接数据库)
- VC 使用ADO连接数据库的问题!error C2059: 语法错误 : “<L_TYPE_raw>” .
- 如何使用 ADO.NET 和 Visual C# .NET 连接到数据库并运行命令
- 使用ADO 对象开发数据库应用程序 (数据库和MFC应用程序连接)
- jdbc使用 Statement 接口实现添加数据操作(使用面向对象和数据库连接工具类)
- 怎样使用ADO.NET连接数据库
- 在Visual Basic.NET使用ADO访问数据库(转for各种数据库连接)
- 使用.udl快速测试与数据库的连接并得到连接字符串(OLEDB、ADO)
- 20160229 VC++中使用ADO连接数据库
- ado.net连接模式访问数据库中datareader的返回多个结果集和mars的使用