使用ado在c ++中插入值问题 [英] inserting value problem in c++ using ado
本文介绍了使用ado在c ++中插入值问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
=============================================
_bstr_t strName;
_bstr_t strAge;
ADODB::_ConnectionPtr pConn("ADODB.Connection");
hr = pConn->Open(bstrConnect, "admin", "", ADODB::adConnectUnspecified);
strName = "'Codersource C++ ADO insert Sample',";
strAge = "10,";
_bstr_t insert = "INSERT INTO Users (Username, Phonenumber)" & "_values('"&strName&"','"strAge"')";
//insert +=strName+strAge;
ADODB::_RecordsetPtr pRS("ADODB.Recordset");
hr = pRS->Open(insert,_variant_t((IDispatch *) pConn, true),
ADODB::adOpenUnspecified,
ADODB::adLockUnspecified,
ADODB::adCmdText);
我用谷歌搜索,但有某种方法可以从键盘插入值,但是它不起作用
i googled and i got some way to inserting value from the keyboard but it doesn''t work
推荐答案
代码不起作用.要执行SQL命令,请使用以下命令:
The code is not working. To execute SQL commands, use something like this:
ADODB::_ConnectionPtr pConn = NULL;
ADODB::_CommandPtr pCmd = NULL;
HRESULT hr = pConn.CreateInstance(__uuidof(ADODB::Connection));
hr = pConn->Open(bstrConnect, "admin", "", ADODB::adConnectUnspecified);
hr = pCmd.CreateInstance(__uuidof( ADODB::Command));
pCmd->ActiveConnection = pConn;
pCmd->CommandText = insert;
pCmd->Execute(NULL, NULL, ADODB::adCmdText);
pConn->Close();
要使用记录集:
To use recordsets:
ADODB::_RecordsetPtr pRS = NULL;
hr = pRS.CreateInstance(__uuidof(ADODB::Recordset));
pRS->Open(
_T("Users"), // source
_variant_t((IDispatch *)pConn, true), // active connection
ADODB::adOpenKeyset, // cursor type
ADODB::adLockOptimistic, // lock type
ADODB::adCmdTable); // source is table name
pRS->AddNew();
pRS->Fields->GetItem(_variant_t(_T("UserName")))->Value = _variant_t(strName);
pRS->Fields->GetItem(_variant_t(_T("PhoneNumber")))->Value = _variant_t(strAge);
pRS->Update();
pRS->Close();
这篇关于使用ado在c ++中插入值问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文