vc知识积累(2.操作Excel数据库)
来源:互联网 发布:mac word 选项 编辑:程序博客网 时间:2024/06/02 19:35
操作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;
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hongjiqin/archive/2006/07/29/997218.aspx
- 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
- 在SQL Server2008 上建立Oracle 链接服务器
- 学习FPGA verilog的心得--编程技巧--如何写代码减少逻辑单元的使用数量
- JSP中include指令和include行为的区别
- vmware workstation 7安装MAC操作系统
- opencv 检测直线、线段、圆、矩形
- vc知识积累(2.操作Excel数据库)
- vs 错误1------"无法启动程序'...debug/abc.exe',系统找不到指定文件"的问题!
- BMP格式的分析
- CAB 制作
- ERP系统BOM详细解析(一)
- sax解析xml运行出现错误org.xml.sax.SAXParseException: Content is not allowed in prolog
- 手机游戏优化技巧
- vc知识积累(2.操作Excel数据库)
- glib库简介