首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

ado不能写入sql数据库,请各位帮忙解答,多谢啦

2012-09-09 
ado不能写入sql数据库,请各位帮忙解答,谢谢啦问题,catch也没有报错,但是数据库的表格也没有写入,求问时什

ado不能写入sql数据库,请各位帮忙解答,谢谢啦
问题,catch也没有报错,但是数据库的表格也没有写入,求问时什么原因?

代码如下:

int main()
{
//连接数据库
_ConnectionPtr pMyConnect=NULL;

HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection));

if( FAILED(hr) )
return 1;

_bstr_t strConnect="Provider=SQLOLEDB; Server=1.1.1.1;Database=DB; uid=id; pwd=pwd;"; 

//connecting to the database server now:
try{pMyConnect->Open(strConnect,"","",NULL);}

catch (_com_error &e)
{
::MessageBox(NULL,e.Description(), (WCHAR *)"警告",MB_OK | MB_ICONWARNING);
}

//写入
_CommandPtr Cmd1;//命令集
ParametersPtr *Params1 = NULL; // Not an instance of a smart pointer.
_ParameterPtr Param1;
_RecordsetPtr Rs1;

try
{
Cmd1.CreateInstance( __uuidof( Command ) );//创建命令集实例
Cmd1->ActiveConnection = pMyConnect;
Cmd1->CommandText = _bstr_t("INSERT INTO Table1 (s_SevenpairRandom) VALUES('1234567')");
}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(), (WCHAR *)"失败",MB_OK | MB_ICONWARNING);
}
//Param1 = Cmd1->CreateParameter( _bstr_t(bstrEmpty), adInteger, adParamInput, -1, _variant_t((long) 5) );
//Param1->Value = _variant_t( (long) 5 );
//Cmd1->Parameters->Append( Param1 );

return 0;

}


编译提示信息,看起来OK的样子:

“test7.exe”: 已加载“C:\Users\liuzhenxing\Documents\Visual Studio 2008\Projects\test7\Debug\test7.exe”,已加载符号。
“test7.exe”: 已加载“C:\Windows\SysWOW64\ntdll.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\kernel32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\KernelBase.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\user32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\gdi32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\lpk.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\usp10.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\msvcrt.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\advapi32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\sechost.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\rpcrt4.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\sspicli.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\cryptbase.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\ole32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\oleaut32.dll”
“test7.exe”: 已加载“C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_2a4f639a55563668\msvcp90d.dll”,已加载符号。
“test7.exe”: 已加载“C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_2a4f639a55563668\msvcr90d.dll”,已加载符号。
“test7.exe”: 已加载“C:\Windows\SysWOW64\imm32.dll”
“test7.exe”: 已加载“C:\Windows\SysWOW64\msctf.dll”
程序“[2416] test7.exe: 本机”已退出,返回值为 1 (0x1)。

[解决办法]
int main() 是控制台程序吧
ADO是COM吧
那是不是应该先要CoInitialize呢
我猜的


热点排行