使用ADO執行儲存過程 (轉)
ADO使你能夠在客戶中透過資料提供者來方便地處理資料.ADO主要的優點是容易使用、高速、低、佔用
在本文的示例工程中我們可以過程,傳遞引數給儲存過程並接收它的返回值,以下是此過程的主要程式碼。
{ CString strTmp; CString m_sdata; // Data source name CString m_sUserID; // User Id CString m_sPass; // Password // GET the above values from the user //Without creating Datasource we can use database by the following code /* strTmp.Format( "={ SERVER};" "server=%s;" "Database=%s;""UID=%s;""PWD=%s;", m_server,m_sdatabase,m_sUserID,m_sPassword );*/ strTmp.Format( "dsn=%s;""UID=%s;""PWD=%s;",m_sdatasource,m_sUserID,m_sPassword ); _bstr_t bstrSQLServerConnect; _bstr_t bstrProc =( L"sp_StartByteImport" );; //Stored procedure name _variant_t Final; bstrSQLServerConnect = (LPCTSTR) strTmp; m_status="Empty File"; _ConnectionPtr Conn1; // connection pointer _CommandPtr Cmd1; // command object pointer _RecordsetPtr Rs1; // recordset object pointer bool bvalid = false; try { Conn1.CreateInstance( __uuidof( Connection ) ); // Instantiating connection object Conn1->ConnectionString = bstrSQLServerConnect; // giving the sqlconnection Conn1->Open( bstrEmpty, bstrEmpty, bstrEmpty ); // open the connection object Cmd1.CreateInstance( __uuidof( Command ) ); // creating command object Cmd1->ActiveConnection = Conn1; // giving the connection handle Cmd1->CommandText = _bstr_t( bstrProc ); // passing the stored procedue Cmd1->CommandType = adCmdStoredProc; // type Cmd1->Parameters->Refresh(); // passing string value as argument to stored procedure Cmd1->Parameters->Item[ _variant_t( (long) 1 ) ]->Value = _variant_t( (LPCTSTR)m_ilename ); Rs1 = Cmd1->Execute( &vtEmpty, &vtEmpty2, adCmdUnknown ); // executing the stored procedure and storing the recordset value bvalid = true; Final = Rs1->Fields->GetItem( _variant_t( 0L ) )->Value; // getting the first column value of the result row strTmp.Format( "%s", StrVariant( Final) ); // to see the value // put your code to see all column values } catch( CException *e ) // trap all error messages { TCHAR szCause[255]; e->GetErrorMessage(szCause, 255); m_status=szCause; } catch( _com_error &e ) { m_status=e.ErrorMessage( ); } catch(...) { m_status="Error while executing the Import"; } //we need to create the stored procedures below before running the application //CREATE PROCEDURE sp_AddAccountingInfo @nfinal int, @pcDate datetime, //@pcURL varchar (250), @pcTop varchar (250), //@pcQueryString varchar (250), @pcBytes int, @pcRequests int AS /* Do your operation here */ //CREATE PROCEDURE sp_AddAccountingInfo //@nfinal int, //@pcDate datetime, //@pcURL varchar (250), //@pcTop varchar (250), //@pcQueryString varchar (250), //@pcBytes int, //@pcRequests int //AS /* Put your code here */ }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989903/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用ADO呼叫儲存過程 (轉)儲存過程
- ADO中sqlserver儲存過程使用 (轉)SQLServer儲存過程
- 使用Command執行儲存過程 (轉)儲存過程
- ADO中sqlserver儲存過程使用SQLServer儲存過程
- ADO & ADO.NET中使用儲存過程的兩個共用的函式 (轉)儲存過程函式
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- /*動態執行儲存過程DEMO*/儲存過程
- C#二十六 使用Ado.Net呼叫儲存過程C#儲存過程
- 檢視正在執行的儲存過程儲存過程
- 執行Sybase儲存過程並返回ResultSet儲存過程
- 啟動SQL SERVER時自動執行儲存過程(轉)SQLServer儲存過程
- 使用儲存過程儲存過程
- MySQL5儲存過程使用(轉)MySql儲存過程
- JAVA儲存過程(轉)Java儲存過程
- Oracle:建立JOB定時執行儲存過程Oracle儲存過程
- 儲存過程執行EXECUTE IMMEDIATE沒反應儲存過程
- oracle 如何終止儲存過程的執行Oracle儲存過程
- [MSSQL]sql 儲存過程定時執行方法SQL儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- all許可權使用者無法執行儲存過程儲存過程
- 自動生成對錶進行插入和更新的儲存過程的儲存過程 (轉)儲存過程
- oracle 執行儲存過程 ora00131Oracle儲存過程
- 在.NET中用儲存過程執行SQL語句儲存過程SQL
- 行為儲存過程(23)儲存過程
- 使用儲存過程實現分頁列印 (轉)儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- 儲存過程中使用cursor儲存過程
- 如何查詢一個儲存過程是否在執行儲存過程
- 應用儲存過程執行報錯解決方案儲存過程
- oracle 儲存過程執行報錯ORA-12828Oracle儲存過程
- 儲存過程中檢視sql執行計劃的方法儲存過程SQL
- 利用oracle儲存過程執行作業系統命令Oracle儲存過程作業系統
- Oracle中執行儲存過程call和exec區別Oracle儲存過程
- DBMS_PROFILER 檢視儲存過程執行時間儲存過程
- 通過v$access檢視正在執行的儲存過程procedure儲存過程
- 在ADO.NET中使用Oracle儲存程式(轉)Oracle
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程