wincc SQL中新建test数据库, 数据:
建表 T: riqijiu nchar(10) 2010-5-19 1 2 3
shijianjiu int 2010-5-19 2 3 4
var1 float 2010-5-19 3 4 5
var2 float 2010-5-19 4 5 6
在画面的select按钮上,键入如下代码:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
/*********连接数据库操作,和查询SQL语句 ********/
#pragma code ("kernel32.dll")
#pragma code ()
__object *cn, *rs;
int i,fields=4;
char *connstr="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=(local)\\WinCC";
char *sql="select * from T ";
//如果语句"select shijianjiu,var1,var2 from T 生成不了select.xls文件
cn=__object_create("ADODB.Connection");
rs=__object_create("ADODB.RecordSet");
cn->Open(connstr);
if(cn->State==0)
{
MessageBox(NULL,"连接数据库失败!","警告",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
}
else
{
printf("cn=%c\n", cn);
rs->Open(sql,cn);
rs->MoveFirst;
if(rs->State==0)
{
MessageBox(NULL,"查询有误","警告!",MB_OK);//测试断点
}
else
{
for(i=0;i
{printf(rs->Fields(i)->Value); printf (" "); }
printf("\r\n");
rs->MoveNext;
}
rs->Save("D:\\select.xls");
rs->Close;
}
cn->Close;
1、保存的select.xls 乱码——为何?
2、如果语句"select shijianjiu,var1,var2 from T 生成不了select.xls文件——为何?
3、如何将查询结果显示跟数据库存储格式一样?