vc++ ADO连接acces数据库

oowangoo 2011-04-15 11:43:38
#include <iostream>
#include <string>
#include <ctime>
#include <icrsint.h>
using namespace std;
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
int main()
{
cout<<"1"<<endl;
::CoInitialize(NULL); // 初始化OLE/COM库环境 ,为访问ADO接口做准备
_ConnectionPtr m_connection;
_RecordsetPtr m_recordset;
_CommandPtr m_command;
string m_strSource;
bool m_fConnected;
HRESULT hr;
try{
hr = m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr = m_connection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Program Files\\excel数据库\\Database1.accdb", " "," " , 16);
if(SUCCEEDED(hr))
m_fConnected = TRUE;
else
m_fConnected = FALSE;
}
catch (_com_error &e)
{
cout<<e.ErrorMessage()<<endl;
m_fConnected = FALSE;
}
if(!m_fConnected)
{
cerr<<"ADO数据源初始化失败!"<<endl;
return 0;
}
IADORecordBinding *picRs = NULL;
try
{
if (FAILED(m_recordset.CreateInstance("ADODB.Recordset")))
{
cerr<<"Create Instance failed!";
return 0;
}
m_recordset->Open("select 学号 from Sheet1",
m_connection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdTable);
//运行时一直报错
}
catch (_com_error&e )
{
m_recordset.Release();
cerr<<&e;
}
while(!(m_recordset->adoEOF))
{
_bstr_t table_type = m_recordset->Fields->
GetItem("学号")->Value;//获取表的类型
cout<<" "<<(char*) table_type<<endl;
m_recordset->MoveNext();
}
if ( m_recordset->State)
m_recordset->Close();
m_connection=NULL;
return 0;
}
编译能通过但是运行时出现debug error后发现是这句
m_recordset->Open("select 学号 from Sheet1",
m_connection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdTable);出错,确定有Sheet1表(且有学号这么一列)。。。
求解。。。
...全文
229 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmu_才盛 2011-04-16
  • 打赏
  • 举报
回复
CString strSql3("select NUM from Sheet1"); // 把学号改成NUM
m_recordset = m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);

xmu_才盛 2011-04-16
  • 打赏
  • 举报
回复
select 学号 from Sheet1

sql语句不支持中文。。
pathuang68 2011-04-16
  • 打赏
  • 举报
回复
oowangoo 2011-04-16
  • 打赏
  • 举报
回复
好吧,m_connection->Open这个也有点问题,但是仍然不知道该怎么改。。。求解。。。
oowangoo 2011-04-16
  • 打赏
  • 举报
回复
问题成功搞定了。
http://blog.csdn.net/zyq5945/archive/2010/05/13/5586423.aspx
通过这个ADO助手搞定,可是他里面的连接字符串和我写的一摸一样,为什么我的就连不上?这是个什么情况能解释解释么?
oowangoo 2011-04-16
  • 打赏
  • 举报
回复
额,现在不是_RecordsetPtr 指针打开报错,是_ConnectionPtr 指针进行open操作报错,open参数列表中的sourse我是从vb连接上拷过来的,应该没有错。不知为什么进行open参数依然失败。。。
oowangoo 2011-04-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 newstudent_never 的回复:]

CString strSql3("select NUM from Sheet1"); // 把学号改成NUM
m_recordset = m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);
[/Quote]
额,我开始用*依然是错的- -。我去试试英文看看。
内容概要:本文详细阐述了工业母机技术领域中“高级结构设计工程师”这一岗位的全方位任职要求与职业发展路径,涵盖职位对标、目标企业、学历与证书要求、年龄范围、管理半径、晋升关键点、必备工作经验年限以及薪资待遇区间。重点突出该岗位对高端数控机床核心结构(如床身、主轴箱、导轨等)设计能力的要求,强调有限元分析、精度控制、热变形补偿、振动抑制等核心技术能力,并明确指出需具备项目主导经验、团队管理能力和跨部门协作经验。同时,根据不同企业类型和发展阶段,给出了清晰的年薪划分标准,体现了市场对该岗位的技术深度与综合能力的高度认可。; 适合人群:具备5年以上工业母机或高端机床结构设计经验,致力于向高级工程师、技术专家或管理岗位发展的结构设计从业者;或希望转型进入高端装备制造业的精密机械研发人员。; 使用场景及目标:①用于求职者精准定位职业发展方向,评估自身与高级岗位之间的能力差距;②辅助企业制定人才招聘标准与薪酬体系;③指导技术人员规划技能提升路径,聚焦核心技术积累与项目经验沉淀。; 阅读建议:建议结合个人职业发展阶段对照文中各项指标进行自我诊断,重点关注“晋升关键点”与“必备年限”部分,有针对性地补齐技术短板、积累主导项目经验,并注重专利成果与团队管理能力的培养,以全面提升竞争力。
内容概要:本文研究基于静态约束法的主动配电网电动汽车接入容量评估方法,并提供了Matlab代码实现。通过构建配电网的静态约束模型,综合考虑电压偏差、线路容量、变压器负载率等关键运行约束条件,系统评估在保障电网安全稳定运行前提下,配电网能够容纳的最大电动汽车充电负荷容量。研究聚焦于高比例电动汽车接入背景下配电网承载能力的量化分析,旨在为新型负荷环境下的电网规划、充电设施布局及电网升级改造提供科学的决策支持与技术手段,提升电力系统对交通电气化的适应性与韧性。; 适合人群:电气工程、电力系统及其自动化等相关专业的研究人员、研究生及从事电网规划、运行与管理工作的工程技术人员。; 使用场景及目标:①用于量化分析大规模电动汽车充电行为对配电网电压、线路负载等运行指标的影响;②评估现有配电网基础设施在电动汽车接入场景下的承载裕度与薄弱环节;③为充电站选址定容、有序充电策略制定以及电网扩容改造提供数据支撑和决策依据; 阅读建议:建议结合Matlab代码与电力系统分析基础知识同步学习,重点关注约束条件的数学建模过程、求解算法的实现逻辑与仿真结果的工程意义解读,可通过修改典型配电网参数和电动汽车接入场景进行扩展性研究与验证。
源码下载地址: https://pan.quark.cn/s/a92ed831069e ### Jmeter工具对验证码的处理方法 #### 一、引言 随着互联网应用安全性的不断提升,验证码已成为网站登录流程中的关键环节。然而,对于性能测试工程师而言,如何高效利用JMeter工具处理登录过程中的验证码构成了一项挑战。本文将系统性地阐述在JMeter中配置和处理验证码的方法,旨在帮助读者熟练掌握这一技能。 #### 二、JMeter中处理验证码的方法与步骤 ##### 1. 创建线程组 在JMeter中构建一个线程组,该线程组将作为执行测试的起始点。在此线程组内,需要添加各类采样器、监听器及其他必要组件,以模拟用户的登录行为。 ##### 2. 新建获取验证码的HTTP请求 在已创建的线程组中,添加一个HTTP请求采样器来模拟用户获取验证码的操作。特别需要注意的是,若目标网站的验证码以图片形式呈现,必须配置正确的HTTP请求以获取该图片。 ##### 3. 配置后置处理器解析验证码 由于通过HTTP请求无法直接获取验证码的值,因此需要增设一个后置处理器实现这一功能。推荐采用BeanShell Post Processor,这是一种高度灵活的脚本编写方式,能够充分满足解析验证码的需求。具体的代码实现可参考以下链接:[http://blog.csdn.net/xreztento/article/details/48682923](http://blog.csdn.net/xreztento/article/details/48682923)。 在BeanShell Post Processor中,需编写一段代码来解析获取到的验证码图片,并将其保存至JMeter的用户自...

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧