vc知识积累(2.操作Excel数据库)
来源:互联网 发布:淘宝 爱游 怎么样 编辑:程序博客网 时间:2024/06/11 04:20
操作Excel数据库(从网上收集,直接拷贝过来,稍作整理)
1. 加上如下代码,得到对数据库的支持
#pragma comment( lib, "Odbccp32.lib" )
#include <afxdb.h>
#include <Odbcinst.h>
2. 得到Excel驱动字符串
CString GetExcelDriver()
{
const WORD cbBufMax = 2000;
char szBuf[ cbBufMax + 1 ];
WORD cbBufOut;
char *pszBuf = szBuf;
CString sDriver;
// 获取已安装驱动的名称
if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))
return "";
// 检索已安装的驱动是否有Excel...
do
{
if (strstr(pszBuf, "Excel") != 0)
{
sDriver = CString(pszBuf);
break;
}
pszBuf = strchr(pszBuf, '/0') + 1;
}
while (pszBuf[1] != '/0');
return sDriver;
}
3. 打开已有数据库
// 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)"
CString sDriver = GetExcelDriver();
if (sDriver.IsEmpty())
{
// 没有发现Excel驱动
AfxMessageBox("没有安装Excel驱动!");
return;
}
// 打开数据库
CString sDsn;
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver,filename );
CDatabase database;
database.Open(NULL, false, false, sDsn);
4. 读取表中数据
CRecordset recset(&database);
CString sSql = "SELECT * from [人员$]";
recset.Open( CRecordset::forwardOnly,sSql,CRecordset::readOnly);
while (!recset.IsEOF())
{
CString name;
recset.GetFieldValue( "name", name ); //列名,值
recset.MoveNext();
}
5. 创建数据库
CString sDriver = GetExcelDriver();
CString sSql;
sSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=/"%s/";DBQ=%s",
sDriver, filename, filename );
CDatabase database;
database.OpenEx( sSql,CDatabase::noOdbcDialog );
6. 创建表
CString tableName = "人员";
sSql = "CREATE TABLE " + tableName + " ( name TEXT )";
database.ExecuteSQL( sSql );
7. 插入新值
sSql.Format( "INSERT INTO %s ( %s ) VALUES ( '%s' )", tableName, colName, personName );
database.ExecuteSQL(sSql);
8. 异常处理
TRY
{
......
}
CATCH(CDBException, e)
{
// 数据库操作产生异常时...
AfxMessageBox("数据库错误: " + e->m_strError);
}
END_CATCH;
- vc知识积累(2.操作Excel数据库)
- vc知识积累(2.操作Excel数据库)
- vc知识积累(2.操作Excel数据库)
- vc知识积累(4.文件操作)
- 数据库知识积累
- EXCEL 操作积累
- 【知识积累】数据库访问方式
- 不懂就贴,知识积累。excel导入服务器以及导入到数据库
- 知识积累——VC技巧
- vc知识积累(1.使用技巧)
- VC操作EXCEL
- VC操作EXCEL(1)
- vc操作Excel(2)
- VC操作excel表格
- VC操作Excel
- vc操作Excel。
- VC操作Excel(总结)
- VC++操作Excel 2007
- 决定从myspace过来啦,决心下得大大滴
- 磨坊启动了!!
- 长白山雨中行
- 微软亚洲研究院的30项创新技术详解(1)
- vml做图
- vc知识积累(2.操作Excel数据库)
- 关于加密和安全v0.94
- vc知识积累(3.动态链接库使用)
- 《实战Ajax》的两篇读后感
- 微软亚洲研究院的30项创新技术详解(2)
- vc知识积累(4.文件操作)
- 悬浮在空中的吻
- AJAX基础教程
- 用javascript来访问数据库,可能会在客户端调试中有点用处!