📄 readme.txt
字号:
封装的两个ADO数据库类自述文件
本压缩包包括DLL的源文件和示例文件
bin目录: 生成的可执行代码
Include目录: 头文件目录
Lib目录: 工程库目录
Src目录: DLL工程源文件,两个ADO类的源文件
Demo目录: 示例文件目录
Project目录: 包括示例文件和源文件的工作区所在目录
注意:本自带的MSADO15.DLL属于MDAC 2.5,建议安装MDAC2.5版或者以上
源文件说明:
对于初学者,使用ADO访问数据库的时候,涉及到各种数据类型转换,可能有一些难度,我试图封装了ADO访问数据库,使其更方便的用现有的VC的数据类型,更加方便的使用ADO操作数据库。
下面分别提供两个封装ADO数据库访问的类,一个是数据库的连接类,一个是数据库字段访问的类。
在连接类中,大家可以看到,连接类中并没有Recordset的成员变量,因为这样的,在整个数据库应用程序中,数据库的连接一般一个就够了,而同时打开的Reocordset则可能不只一个,所以,如果两个在同一个类里,那么,如果要同时打开两个记录集,需要建立类的两个实例,就是需要同时打开两个数据库连接,如果对于连接的是同一个数据库,同时打开两个连接的话,意味着资源的不必要的浪费。
数据库字段访问类,简化了,获取数据库字段内容的操作,避免了数据类型转换的麻烦。
两个类都对错误处理进行了较多的考虑,在访问数据库中,如果没有错误处理,其害处是显而易见的。
使用一般包括下面的步骤:
//1.打开数据库连接,产生bReOpen为FALSE,当第二次执行本代码时候,将不会重新打开数据库连接,除非数据库连接已经断开
if(!m_adoDBConn.OpenConnection(
"driver={sql server};server=(local);DataBase=Northwind;uid=sa ; pwd="
)
{
return ;
}
//查询SQL语句,如果执行SQL语句,可以用"exec " + 存储过程名 + " " + 参数1 + "," + 参数2 + "," + 参数3 + …
CString strSQL("select EMployeeID,LastName,BirthDate,Notes from Employees");
_RecordsetPtr* prsThis=NULL;
prsThis=new _RecordsetPtr;
//2.如果记录集打开失败 if(!(m_adoDBConn.OpenRecordset(strSQL,prsThis)))
return;
//3.没有记录
if((*prsThis)->adoEOF)
return;
//4.定义访问字段的类实例
CBBRstValues rsv(m_adoDBConn.GetConnection(),prsThis);
//5.下面将对数据库表字段进行操作
long lID;
//得到数字(第一条记录)
rsv.GetValueLong(&lID,"EMployeeID");
TRACE1("Get ID:%d",lID);
//也可以rsv.GetValueLong(&lID,0);
//建议用字段名,对存储过程返回的常量(没有字段名),可以用序号
CString strEID,strEName,strEBirthDay,strENotes;
int i=0;
while(!(*prsThis)->adoEOF)
{
rsv.GetValueStr(strEID,"EMployeeID");
theListCtrl.InsertItem(i,strEID);
rsv.GetValueStr(strEName,"LastName");
//得到DateTime字段,取年月日十位
rsv.GetValueStr(strEBirthDay,"BirthDate",10);
//得到nText字段
rsv.GetValText(strENotes,CString("Notes"));
theListCtrl.SetItemText(i,1,strEName);
theListCtrl.SetItemText(i,2,strEBirthDay);
theListCtrl.SetItemText(i,3,strENotes);
//移动记录到下一个记录
(*prsThis)->MoveNext();
i++;
}
//6.清除现场
(*prsThis)->Close();//如果是Insert等等不返回记录集的执行SQL语句,将不用Close记录集。
delete prsThis;
prsThis=NULL;
注意:工程设置了设置自动连接Lib文件,无需在Project->settings->link里面设置。
示例文件说明:
本示例文件连接的是本机SQL Server数据库,如果你的机器没有安装SQL Server或者你没有一个SQL Server服务器,你可以需要更改连接的类型和目标,操作的是SQL Server自带的Northwind数据库的Employees表,演示了连接数据库和对记录集字段进行访问的操作。分别操作了整形、字符型、DateTime型和NText型的数据库数据类型。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -