为什么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日 上午6:35
下一篇 2019年6月11日 上午6:35

相关推荐

  • Wincc中的开关量点

    在Wincc中如何将开关量点的趋势也做出来呢,谢谢 问题补充:怎么归档呢,你们说的方法我可以试一下,大家可以说的具体点的,从建一个开关量开始到趋势的做法,或者说是已经有了的开关量怎…

    SIMATIC WinCC 2019年6月11日
  • wincc v13 TP700

    用触摸屏TP700做历史数据时怎样保证字符串?和调历史数据出来查看?查看方式最好是可以像下图那样 问题补充:我在屏上的查看方式是想要表格这样的方式不要趋势图 图片说明: &nbsp…

    2017年5月31日
  • wincc归档和报警导入Excel

    请问:现在可以实现将归档变量和报警记录导入Excel,但用的是按钮事件中的VBS脚本写的,我想能否实现不点击按钮,而是每小时或者若干小时自动导入Excel,请问具体怎么实现这个功能…

    2021年7月5日
  • 变量归档数据如何保存到Excel中?

    问题补充:我现在已经进行了变量归档,并在图形编辑器中用wincc table control 控件显示,如何将存储在archivemanager中的记…

    SIMATIC WinCC 2019年6月11日
  • 怎样给WINCC做滚动字幕

    就是说PLC里有一个线圈接通了,在触摸屏上出现滚动字幕 最佳答案 转载——使用全局动作,定义触发周期:int xPosition;xPosition=GetTagWord…

    SIMATIC WinCC 2019年6月11日
  • WINCC FLEXIBLE 如何通过USB数据线和OP270通讯

    WINCC FLEXIBLE 如何通过USB数据线和OP270通讯,使用的USB数据线的型号是什么 图片说明:    最佳答案 《如何使用&…

    2020年11月1日
  • 如何让PLC的定时器的剩余时间在触摸屏上实时显示

    如何让PLC的定时器的剩余时间在触摸屏上实时显示 最佳答案 西门子300plc定时器管脚带有定时器剩余时间输出功能,只是它输出的是BCD码格式或者BI格式,用户实际使用需要通过转换…

    SIMATIC WinCC 2017年6月10日
  • WINCC中图形对象名称重复问题

    WINCC中图形对象名称有重复,如几个按钮名称均为BUTTON1,或者其它的图形中的OBJECT有相同的名称,但图形运行均正常,这有什么影响吗? 问题补充:我是指在同一张图中,有些…

    SIMATIC WinCC 2019年6月11日
  • WINCC 激活时错误

    WINCC 6.2 打开原来项目并激活时,当激活进度走到报警记录运行系统时再无法走下去,然后一个提示:  CCWriteArchiveSer…

    SIMATIC WinCC 2019年6月11日
  • WINCC都有哪些加密

    楼主的好多项目下位机是300,上位机是WINCC,交付给业主使用后,现发现业主把项目资料给竞争对手参考学习,因此我想给WINCC这一块做一些加密, 可以正常运行,但里面的…

    SIMATIC WinCC 2017年12月7日