请问各位大虾如何调用以有的储蓄过程。 请问各位大虾如何调用以有的储蓄过程的详细资料 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HRESULT hr; CVar vNull(VT_ERROR, DISP_E_PARAMNOTFOUND); //Open the database and the recordset try { if( m_pConnection == NULL ) { char szDataSource[MAX_PATH]; char szDataTable[MAX_PATH]; sprintf( szDataSource, "Provider=sqloledb;Data Source=%s ;", m_strDatabaseName ); sprintf( szDataTable, "Initial Catalog=%s;User Id=%s;Password=%s;", m_strDataName, m_strUserName, m_strPassword ); _bstr_t strCnn; strCnn = szDataSource; strCnn += szDataTable; THROW_ERR( m_pConnection.CreateInstance( __uuidof(Connection) ) ); m_pConnection->PutConnectionTimeout( 30 ); THROW_ERR( m_pConnection->Open( strCnn, _T(""), _T(""), adConnectUnspecified ) ); m_pConnection->CursorLocation = adUseClient; ((MyApp*)AfxGetApp())->ReportError( "连接更新数据库成功" ); } _CommandPtr pCommandPtr; THROW_ERR( pCommandPtr.CreateInstance( __uuidof( Command ) ) ); pCommandPtr->CommandText = "myprocedure"; pCommandPtr->CommandType = adCmdStoredProc; VARIANT vUpdateXML, vType; CString strXML = pszUpdateXML; vUpdateXML.vt = VT_BSTR;// ** vUpdateXML.bstrVal = strXML.AllocSysString();//SysAllocString( (OLECHAR *)pszUpdateXML ); _ParameterPtr pParam; pParam = pCommandPtr->CreateParameter( L"data", adVarChar, adParamInput, 8000, vUpdateXML ); pCommandPtr->Parameters->Append( pParam ); pParam->Value = vUpdateXML; vType.vt = VT_I4; vType.lVal = lType; pParam = pCommandPtr->CreateParameter( L"datatype", adInteger, adParamInput, sizeof(int), vType ); pCommandPtr->Parameters->Append( pParam ); pParam->Value = vType; pCommandPtr->ActiveConnection = m_pConnection; pCommandPtr->Execute( NULL, NULL, adCmdStoredProc ); ::SysFreeString(vUpdateXML.bstrVal); m_pConnection->Close(); m_pConnection = NULL; ((MyApp *)AfxGetApp())->ReportError( "更新数据库记录成功" ); } catch ( HRESULT hr ) { ((MyApp *)AfxGetApp())->ReportError( "更新数据库失败" ); TRACE( "Update database error, Failed code : %X", hr ); return FALSE; } catch(_com_error &e ) { ((MyApp *)AfxGetApp())->ReportError( (LPTSTR)e.ErrorMessage() ); return FALSE; } return TRUE; 用ADOStoredProc1就可簡單完成!!! 老大,用Delphi很容易搞定,非要发骚 用adoprodcadoproc.procedurename:='';adoproc.refresh;ADOproc.Parametrs.Parameterbyname('').value:='';adoproc.execproc; 问各位高手一个关于窗体的问题? 如果edit1.text中的数值是123456789 , 有函数可以把它转为987654321吗? 请教:关于用treeview现实多级部门的问题。 请问? 用ListView显示数据库中的记录,但是刷新太慢,怎么办? dbgrid中如何可以一次选择多行? 如何让savedialo中的Filter随同文件名一起保存? 超高难度-->有谁做过类似编译程序的词法语法解析器?或哪有现成的控件下载? 征集免费电影、评书下载站点 异常怎么用:delphi6中 简单的SQL?? 有关窗口调用的另一类问题
CVar vNull(VT_ERROR, DISP_E_PARAMNOTFOUND); //Open the database and the recordset
try
{
if( m_pConnection == NULL )
{
char szDataSource[MAX_PATH];
char szDataTable[MAX_PATH]; sprintf( szDataSource, "Provider=sqloledb;Data Source=%s ;", m_strDatabaseName );
sprintf( szDataTable, "Initial Catalog=%s;User Id=%s;Password=%s;", m_strDataName, m_strUserName, m_strPassword ); _bstr_t strCnn;
strCnn = szDataSource;
strCnn += szDataTable; THROW_ERR( m_pConnection.CreateInstance( __uuidof(Connection) ) ); m_pConnection->PutConnectionTimeout( 30 );
THROW_ERR( m_pConnection->Open( strCnn, _T(""), _T(""), adConnectUnspecified ) );
m_pConnection->CursorLocation = adUseClient;
((MyApp*)AfxGetApp())->ReportError( "连接更新数据库成功" );
} _CommandPtr pCommandPtr; THROW_ERR( pCommandPtr.CreateInstance( __uuidof( Command ) ) ); pCommandPtr->CommandText = "myprocedure";
pCommandPtr->CommandType = adCmdStoredProc; VARIANT vUpdateXML, vType; CString strXML = pszUpdateXML;
vUpdateXML.vt = VT_BSTR;// **
vUpdateXML.bstrVal = strXML.AllocSysString();//SysAllocString( (OLECHAR *)pszUpdateXML ); _ParameterPtr pParam; pParam = pCommandPtr->CreateParameter( L"data", adVarChar, adParamInput, 8000, vUpdateXML );
pCommandPtr->Parameters->Append( pParam ); pParam->Value = vUpdateXML; vType.vt = VT_I4;
vType.lVal = lType; pParam = pCommandPtr->CreateParameter( L"datatype", adInteger, adParamInput, sizeof(int), vType );
pCommandPtr->Parameters->Append( pParam ); pParam->Value = vType; pCommandPtr->ActiveConnection = m_pConnection;
pCommandPtr->Execute( NULL, NULL, adCmdStoredProc ); ::SysFreeString(vUpdateXML.bstrVal); m_pConnection->Close();
m_pConnection = NULL; ((MyApp *)AfxGetApp())->ReportError( "更新数据库记录成功" );
}
catch ( HRESULT hr )
{
((MyApp *)AfxGetApp())->ReportError( "更新数据库失败" );
TRACE( "Update database error, Failed code : %X", hr ); return FALSE;
}
catch(_com_error &e )
{
((MyApp *)AfxGetApp())->ReportError( (LPTSTR)e.ErrorMessage() ); return FALSE;
} return TRUE;
adoproc.procedurename:='';
adoproc.refresh;
ADOproc.Parametrs.Parameterbyname('').value:='';
adoproc.execproc;