恭喜,你发布的帖子
发布于 2018-04-17 22:10:17
2楼
int dbExecCmd(dbConnection conn,string sqlString,dyn_dyn_anytype &result)
{
int rc=0;
if (dbBeginTransaction(conn)==0)
{
dbRecordset rs;
dbCommand dbCmd;
dyn_string cols=makeDynString("");
rc=dbStartCommand(conn,sqlString,dbCmd);
if(!rc)
{
rc=dbExecuteCommand(dbCmd,rs);
while(!rc && !dbEOF(rs))
dbGetResult(rs,result,cols,0);
dbCloseRecordset(rs);
dbFinishCommand(dbCmd);
}
if(!rc)
dbCommitTransaction(conn);
else
dbRollbackTransaction(conn);
}
return rc;
}
这是我自己写的,我的CONN是外部传入的 你自己初始化一个 dbConnection
在操作系统的ODBC数据源上 你建立一个自己的DSN 连接到MSSQL 如果你测试连接成功 那么OA调用也应该成功 conn 类似下方这样
int rc;
dbConnection conn;
string connString="DSN=ABC;UID=123;PWD=456789;";
rc = dbOpenConnection (connString, conn);
我写的这些基本上绝对不会有问题。都是经过3.13版测试的
wincc oa 有点坑,有些常规函数应该自动分配内存地址然后返回一个地址,但是另一个接受地址的函数居然不认。不明白CTRL底层是怎么写的,反正很别扭。
请填写推广理由:
分享
只看
楼主