VC实现ODBC数据库操作实例解析

本文以VC实例介绍了实现数据库操作的各种方法,包括打开数据库、关联记录集、读取Excel数据、执行SQL查询、创建存取字符串等,相信对于初学VC的朋友有一定的参考价值,主要功能代码如下:

//打开数据库
CDatabase database;
database.OpenEx( _T( "DSN=zhuxue" ),CDatabase::noOdbcDialog);//zhuxue为数据源名称
//关联记录集
CRecordset recset(&database);
//查询记录
CString sSql1="";
sSql1 = "SELECT * FROM tablename" ;
recset.Open(CRecordset::forwardOnly, sSql1, CRecordset::readOnly);
int ti=0;
CDBVariant var;//var可以转换为其他类型的值
while (!recset.IsEOF())
{
 //读取Excel内部数值
 recset.GetFieldValue("id",var);
 jiangxiang[ti].id=var.m_iVal;
 recset.GetFieldValue("name", jiangxiang[ti].name);
 ti++;
 recset.MoveNext();
}
recset.Close();//关闭记录集
//执行sql语句
CString sSql="";
sSql+="delete * from 院系审核";//清空表
database.ExecuteSQL(sSql);
sSql也可以为Insert ,Update等语句
//读取字段名
sSql = "SELECT * FROM Sheet1"; //读取的文件有Sheet1表的定义,或为本程序生成的表.
//执行查询语句
recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
int excelColCount=recset.GetODBCFieldCount();//列数
CString excelfield[30];
//得到记录集字段集合中的字段总个数
for(i=0;i<excelColCount;i++)
{
 CODBCFieldInfo fieldinfo;
 recset.GetODBCFieldInfo(i,fieldinfo);
 excelfield[i].name =fieldinfo.m_strName;//字段名
}
//打开excel文件
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)";
//Excel安装驱动
CString sSql,sExcelFile; //sExcelFile为excel的文件路径
TRY
{
//创建存取的字符串
sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile);
//创建Excel表格数据库
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
//可以把excel作为一个数据库操作
}
}catch(e){
 TRACE1("Excel驱动未安装: %s",sDriver);
 AfxMessageBox("读取失败,请检查是否定义数据区Sheet1");
}
(0)

相关推荐

  • VC基于ADO技术访问数据库的方法

    本文实例讲述了VC基于ADO技术访问数据库的方法.分享给大家供大家参考.具体如下: 一.在StdAfx.h文件中添加 复制代码 代码如下: #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF") 导入ADO引擎. 二.数据库应用层操作 void CADOExample1Dlg::OnBtnQuery() {

  • C语言连接并操作Sedna XML数据库的方法

    本文实例讲述了C语言连接并操作Sedna XML数据库的方法.分享给大家供大家参考.具体如下: #include "libsedna.h" #include "stdio.h" int handle_error(SednaConnection* conn, const char* op, int close_connection) { printf("%s failed: \n%s\n", op, SEgetLastErrorMsg(conn))

  • c语言连接mysql数据库的实现方法

    我这里也有一份网上找到的:/201205/other/C_link_mySql51.rar C连接MySql5.1所需文件.rar 附带一个不错的例子: #include <string.h> #include <stdlib.h> #include <stdio.h> #include <winsock2.h> #include <mysql/mysql.h>/*注意要包含这个头文件*/ #pragma comment(lib,"li

  • VC中使用ADO开发数据库应用程序简明教程

    本文实例讲述了VC中使用ADO开发数据库应用程序的方法.分享给大家供大家参考,具体如下: 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 OLE.DB 提供者访问和操作数据库服务器中的数据.ADO 最主要的优点是易于使用.速度快.内存支出少和磁盘遗迹小.ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量.高性能的接口.之所以

  • VC用Ado接口连接和使用数据库及注意事项

    一.阅读本文所需注意的其它事项 1.进行方法调用时,所传递的参数的类型的转换(可能存在比本文更简便的处理方法但我未发现) 2.每个源文件的每行注释说明了其文件名 3.请关注相关头文件包含关系 4.请关注文中所有中文注释 5.更多的内容请参阅 "VC安装目录\Include\adoint.h"文件,adoint即ActiveX Data Object InterFace(菜 鸟请勿惊慌,这仅仅只是个名称) 二.下面的源文件与您的数据库应用程序不直接相关,但其目标代码(生成的.obj文件)

  • 用C语言操作MySQL数据库的通用方法

    在我们的web应用中,虽然PHP.JSP等脚本均提供了MySQL的接口,但是显然直接使用C语言具有更好的安全性和性能,在这篇文章中能够有所体现. 先看结构体: 以下代码块是用来连接数据库的通讯过程,要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接. typedef struct st_mysql { NET net; /* Communication parameters */ gptr connector_fd; /* ConnectorFd for S

  • c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

    第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

  • VC实现ODBC数据库操作实例解析

    本文以VC实例介绍了实现数据库操作的各种方法,包括打开数据库.关联记录集.读取Excel数据.执行SQL查询.创建存取字符串等,相信对于初学VC的朋友有一定的参考价值,主要功能代码如下: //打开数据库 CDatabase database; database.OpenEx( _T( "DSN=zhuxue" ),CDatabase::noOdbcDialog);//zhuxue为数据源名称 //关联记录集 CRecordset recset(&database); //查询记

  • hibernate通过session实现增删改查操作实例解析

    今天学习了一下如何通过hibernate来实现对数据库的增删改查,下面来简单介绍一下: 首先创建个Student类: package com.hibernate.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.T

  • Hibernate单表操作实例解析

    单一主键 assigned:由Java应用程序负责生成(即手工的赋值) native:由底层的数据库自动的生成标示符,如果是MySQL就是auto_increment,如果是Oracle就是sequence,等等 操作的时候还是需要结合hibernate.cfg.xml文件的,因为数据库中的hbm2ddl.auto属性如果是update的时候,设置为主键自增是可以的:但是如果是create的时候,第二次如果不手工的改变,恐怕就要出BUG了. 基本类型 一般来说,按照Java的数据类型进行操作就可

  • Java8 Stream中间操作实例解析

    这篇文章主要介绍了Java8 Stream中间操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍Stream Stream 使用一种类似用于SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象. Stream API可以极大提高Java程序员的生产力,让程序员写出高效率.干净.简洁的代码. 这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等

  • python删除过期log文件操作实例解析

    本文研究的主要是python删除过期log文件的相关内容,具体介绍如下. 1. 用Python遍历目录 os.walk方法可以很方便的得到目录下的所有文件,会返回一个三元的tupple(dirpath, dirnames, filenames),其中,dirpath是代表目录的路径,dirnames是一个list,包含了dirpath下的所有子目录的名字,filenames是一个list,包含了非目录的文件,如果需要得到全路径,需要使用os.path.join(dirpath,name).例如t

  • Python列表切片常用操作实例解析

    这篇文章主要介绍了Python列表切片常用操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整个列表切开的方法. 切片可以说是整个列表中的重点内容,相信你在以后的Python项目中会经常使用到. 它的语法是: 2.简单介绍切片的几个常见操作

  • Java实体类实现链式操作实例解析

    这篇文章主要介绍了Java实体类实现链式操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 原来是这么写bean的,单纯的使用get.set方法,再加一个toString package Model; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class User { private Integer id; private String nam

  • Java8新特性Stream短路终端操作实例解析

    这篇文章主要介绍了Java8新特性Stream短路终端操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 传入一个谓词,返回传为boolean,如果符合条件,则直接结束流. 匹配所有 allMatch 任意匹配 anymMatch 不匹配 noneMatch 查找首个 findFirst 查找任意 findAny 匹配所有 allMatch /匹配所有 allMatch @Test public void allMatchTest()

  • JavaScript对象属性操作实例解析

    这篇文章主要介绍了JavaScript对象属性操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在js对象中,我们可以对对象属性进行操作. 上图的要点为:for-in会把原型链上的可枚举属性也列出来. 上图的要点为:可以使用逻辑运算符&&进行层层查找对象是否为undefined,从而在赋值过程中不报错. 上图的要点为: 1.delete不存在的属性,依旧返回true. 2.Object.getOwnPropertyDescrip

  • Python常见MongoDB数据库操作实例总结

    本文实例讲述了Python常见MongoDB数据库操作.分享给大家供大家参考,具体如下: MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可

随机推荐