为什么C脚本中ADODB.RecordSet对象rst值为空

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{

/*********连接数据库操作,和查询SQL语句 ********/
__object *conn, *rst;

char *connstr="Provider=WinCCOLEDBProvider.1;Catalog=CC_fortest_10_05_07_08_02_45R;Data Source=.\WinCC";

char *sql=" select  *  from UA#DailyReport   ";//where riqijiu like ‘2010-5-10%’

conn = __object_create("ADODB.Connection");

rst = __object_create("ADODB.RecordSet");

conn->Open(connstr);

if (conn->State==0)
{
   MessageBox(NULL,"连接数据库失败","失败!",MB_OK);
}

else
{

rst->Open(sql,conn);

MessageBox(NULL,"查询语句有误","失败!",MB_OK);//测试断
/*…后续还有代码,想法是将查询到的数据,在Excel中显示*/

运行测试 跳出 “查询语句有误,失败”
参考代码http://www.ad.siemens.com.cn/club/bbs/post.asp?myreply=&b_id=5&a_id=528569&s_id=0&num=17#anch

错误的地方在哪里,应该如何改,顺便问下在Excel中显示的大概方法。
请多指教!

问题补充:
当然 UA#DailyReport表中是有数据的,
为什么我参考的网址中他的程序可以,我的不行!

最佳答案

你的问题出在你使用的数据源是Provider=WinCCOLEDB,WinCC OLEDB是用于变量记录,报警记录这种压缩格式的数据,你的参考文档使用的是Provider=SQLOLEDB SQLOLEDB是MS OLEDB可以用于对普通的表进行读写
 *sql=" select  *  from UA#DailyReport   ";//where riqijiu like ‘2010-5-10%’你的这个查询条件应该使用SQLOLEDB 不能用WINCC OLEDB

提问者对于答案的评价:
方向对了,
不过又有问题了普通链接:
char char *connstr="Provider=SQLOLEDB.1;Integrated Security=SSPI;InitialCatalog=CC_fortest_10_05_07_08_02_45R;Data Source=(local)\\WinCC";
数据库连接成功,但是rs值为空

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • 开设备要求输入密码

    当我按下一个按钮,要开关一个设备时,要求输入密码,不需要输入用户名,只要输入密码,这个怎么做?密码输入正确就开启设备。密码输入窗口不用画面窗口可以做吗?因为我有很多开关,如果一个按…

    SIMATIC WinCC 2019年6月11日
  • WINCC数据归档与报表显示

    WINCC默认的数据归档所有分段时间范围是一周,数据报表里数据源是归档变量,显示时间范围是30天,这种情况超过一周的数据还会在报表里显示出来吗? 最佳答案 1、根据您的情况来说是能…

    SIMATIC WinCC 2018年12月14日
  • wincc os-projecteditor与图形编辑器

    我在设置了os-projecteditor里面的分辨率后,在图形编辑器里就突然多了这些没用的pdl,这不是我自己建立的,请问怎么设置就会去掉啊? 图片说明:  &nbsp…

    2019年6月10日
  • 结构变量的连接问题

    WINCC6.2中把PID的变量用结构变量的形式创建出,请问当单独连接结构变量的时候,比如棒图填充连接阀门开度变量LMN,那么用去掉变量前缀和分隔符吗? 问题补充:可能是我没说清楚…

    SIMATIC WinCC 2019年6月10日
  • 对象颜色对应的数值在哪里查

    用C脚本改变一个对象颜色的时候,颜色是作为一个数值返回的。各种颜色对应不同的数值,这个数值在哪里可以查到呢? 最佳答案 给你一个查询颜色的网站,注意使用IE浏览器或IE兼容模式的浏…

    SIMATIC WinCC 2019年6月10日
  • error(00540:operands must be arithmetic

    编写了一个进行算术运算的函数,结果提示多屋:error(0054):operands of *,/ must be arithme…

    SIMATIC WinCC 2017年6月24日
  • 报表打印

    采用WINCC6.0,以太交换机,但打印报表时数据有时总是不完整,出现全为零或部分数据为零的现象,如水量正常,但设备运行时间全部或部分为零。打印时经常通讯中断,这是否与通讯有关,因…

    SIMATIC WinCC 2019年6月11日
  • 溶液记录无法打开

    溶液的加药记录无法打开 问题补充:wincc里有个添加药业的记录,通过网页查看的  现在无法打开,ie也打不开ftp://local 图片说明:  &…

    2021年7月5日
  • WinCC画面文件很大

    同样的PDL画面,另存之后,画面文件大小%ignore_a_1%很大,请问:1、画面上的对象、脚本都一样,为什么相差这么大,为什么会变大?2、变大后的PDL文件对项目运行有什么影响…

    2021年7月5日
  • 监控系统问题

    大家好   我们公司是做节能项目的,要做一个监控中心,采集全国的各地所做项目的如变频器之类的,一些状态参数、现场的实时图像、视频之类的数据,通过互联网…

    SIMATIC WinCC 2019年6月11日