创建数据源
利用C++连接数据库,首先要创建数据源。
1、建立access2013数据库
打开access2013建立空白桌面数据库,选择文件名和存储位置
创建->表设计:编辑字段,保存并定义表名,左侧表1下会出现新建立的表名
删除表1,并填完整students表
2、设置ODBC驱动程序
打开控制面板,在查看视图选项选择小图标,找到管理工具双击进入。
进入ODBC数据源(32位)
数据源名:myDB
说明:学生成绩管理库
数据库选择刚才建立的数据库
至此,完成了数据源的创建。
最后,用C++语言实现数据库的查询,开发集成环境为VS2017
用Visual C++创建常规空项目:
代码:
#include "afxdb.h"
#include <iostream>
#include <atlstr.h>
using namespace std;
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
CDatabase db;
CRecordset rs(&db);
CString varid;
CString strdsn;
strdsn.Format("ODBC;DSN=myDB;UID=admin;PWD=admin;DBQ=F:\\VSCode\\9_1\\myDB.accdb");
db.Open(NULL, false, false, strdsn, true);
CString sql = _T("SELECT * from student order by no");
rs.Open(CRecordset::forwardOnly, sql);
cout << " 编号\t姓名\t性别\t分数\n";
int i = 0;
while (!rs.IsEOF())
{
rs.GetFieldValue((short)0, varid);
cout << ++i << ":" << varid << "\t";
rs.GetFieldValue((short)1, varid);
cout << varid << "\t";
rs.GetFieldValue((short)2, varid);
cout << varid << "\t";
rs.GetFieldValue((short)3, varid);
cout << varid << endl;
rs.MoveNext();
}
rs.Close();
db.Close();
system("pause");
return 0;
{
CDatabase db;
CRecordset rs(&db);
CString varid;
CString strdsn;
strdsn.Format("ODBC;DSN=myDB;UID=admin;PWD=admin;DBQ=F:\\VSCode\\9_1\\myDB.accdb");
db.Open(NULL, false, false, strdsn, true);
CString sql = _T("SELECT * from student order by no");
rs.Open(CRecordset::forwardOnly, sql);
cout << " 编号\t姓名\t性别\t分数\n";
int i = 0;
while (!rs.IsEOF())
{
rs.GetFieldValue((short)0, varid);
cout << ++i << ":" << varid << "\t";
rs.GetFieldValue((short)1, varid);
cout << varid << "\t";
rs.GetFieldValue((short)2, varid);
cout << varid << "\t";
rs.GetFieldValue((short)3, varid);
cout << varid << endl;
rs.MoveNext();
}
rs.Close();
db.Close();
system("pause");
return 0;
}
运行结果:
、
(程序和数据库位置在练习中有所变化,不一定完全对应)