欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 其步骤一般分为: (1) 引入ADO动态库文件 (2) 初始化COM环境 (3) 连接数据库操作数据表 说明:本数据库使用SQLServer2005制作,名字为“student”。内含一个表,命名为“stud”。 建表语句 create
欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入
其步骤一般分为:
(1) 引入ADO动态库文件
(2) 初始化COM环境
(3) 连接数据库操作数据表
说明:本数据库使用SQLServer2005制作,名字为“student”。内含一个表,命名为“stud”。
建表语句
create table stud
(
num varchar(7),
name nvarchar(20) not null,
gender nchar(2) default '男' check(gender in('男','女')),
dept nvarchar(20) not null
)
插入一些数据
insert into stud values('0147256','test','男','计算机系');
进行疯狂复制,多添加一些数据
insert into stud select * from stud;
本例中创建的数据源名字为'test'
需要添加数据源
在stdafx.h添加以下代码引入ADO动态库文件
#import "C:\Program Files\CommonFiles\System\ado\msado15.dll" no_namespace\rename("EOF","adoEOF")rename("BOF","adoBOF")
初始化COM环境
::CoInitialize(NULL); //在app类中的InitInstance函数中添加
::CoUninitialize(); //在app类中的InitInstance函数的最后(return之前)添加,释放COM环境
首先先在dlg头文件中先声明这两个智能指针,通过这些指针可以很容易的创建和删除ADO对象。
_ConnectionPtrm_pConnection;
_RecordsetPtrm_pRecordset;
接下来在dlg类中添加函数void OnInitADOConn()
void CMy1Dlg::OnInitADOConn()
{
::CoInitialize(NULL); //初始化COM环境
try
{
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
CString strConnect;
//注意,我这里写的连接字符串是通过以下步骤的得到的:
//1、新建一个文件,名字任意取,后缀名必须为udl(如何hello.udl)
//2、双击hello.udl文件,进入数据连接属性面板,填写好数据源(选择自己创建的数据源名字的)
//3、再以记事本方式打开,第三行的数据就是连接字符
strCOnnect="Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=test;Password=*******";
//使用Open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
在dlg类中在添加void ExitConnect()函数
void CMy1Dlg::ExitConnect()
{
//关闭记录集和连接
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
}
在dlg类的OnInitDialog函数中添加如下代码,设置列表视图的风格和标题(写在最后)
m_Grid.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_Grid.InsertColumn(0,"编号",LVCFMT_LEFT,110,0);
m_Grid.InsertColumn(1,"姓名",LVCFMT_LEFT,110,1);
m_Grid.InsertColumn(2,"性别",LVCFMT_LEFT,110,2);
m_Grid.InsertColumn(3,"学历",LVCFMT_LEFT,110,3);
AddToGrid();
在dlg类中添加void AddToGrid()函数
void CMy1Dlg::AddToGrid()
{
[1] [2] [3]