#include "test.h"
#include <iostream.h>
#include <comdef.h>
#include <atlbase.h>
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ado\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
//using namespace ADODB;char gettime()
{
_ConnectionPtr pConn("ADODB.Connection");
_RecordsetPtr pRs("ADODB.Recordset");
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
// Cstring strConn;
pConn->Open("Provider=SQLOLEDB;Server=10.163.10.3;DataBase=master;UID=trace;PWD=traceaeclmis","","",adModeUnknown);
pConn->ConnectionTimeout=300; pCommand->ActiveConnection=pConn;
pCommand->CommandText="Select Convert(char(20),getdate(),120) AS sysTime";
pCommand->CommandType=adCmdText;
pCommand->CommandTimeout=300;
pCommand->Parameters->Refresh(); pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);
_variant_t varValue=pRs->GetCollect("sysTime");
Cstring strValue=(char*)_bstr_t(varValue);
return strValue;
}
大侠帮看看,我要获取SQL服务器的时间,封装在DLL中以字符串形式返回。
总是出错,错误信息:
e:\tddownload\test\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
E:\TDdownload\test\test.cpp(6) : warning C4185: ignoring unknown #import attribute 'no_namespaces'
E:\TDdownload\test\test.cpp(31) : error C2065: 'Cstring' : undeclared identifier
E:\TDdownload\test\test.cpp(31) : error C2146: syntax error : missing ';' before identifier 'strValue'
E:\TDdownload\test\test.cpp(31) : error C2065: 'strValue' : undeclared identifier
E:\TDdownload\test\test.cpp(31) : error C2440: '=' : cannot convert from 'char *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
#include <iostream.h>
#include <comdef.h>
#include <atlbase.h>
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ado\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
//using namespace ADODB;char gettime()
{
_ConnectionPtr pConn("ADODB.Connection");
_RecordsetPtr pRs("ADODB.Recordset");
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
// Cstring strConn;
pConn->Open("Provider=SQLOLEDB;Server=10.163.10.3;DataBase=master;UID=trace;PWD=traceaeclmis","","",adModeUnknown);
pConn->ConnectionTimeout=300; pCommand->ActiveConnection=pConn;
pCommand->CommandText="Select Convert(char(20),getdate(),120) AS sysTime";
pCommand->CommandType=adCmdText;
pCommand->CommandTimeout=300;
pCommand->Parameters->Refresh(); pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);
_variant_t varValue=pRs->GetCollect("sysTime");
Cstring strValue=(char*)_bstr_t(varValue);
return strValue;
}
大侠帮看看,我要获取SQL服务器的时间,封装在DLL中以字符串形式返回。
总是出错,错误信息:
e:\tddownload\test\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
E:\TDdownload\test\test.cpp(6) : warning C4185: ignoring unknown #import attribute 'no_namespaces'
E:\TDdownload\test\test.cpp(31) : error C2065: 'Cstring' : undeclared identifier
E:\TDdownload\test\test.cpp(31) : error C2146: syntax error : missing ';' before identifier 'strValue'
E:\TDdownload\test\test.cpp(31) : error C2065: 'strValue' : undeclared identifier
E:\TDdownload\test\test.cpp(31) : error C2440: '=' : cannot convert from 'char *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
我用 的是 Win32 Dynamic-Link Library 。
编写dll 是不是不能选这个啊?