VC呼叫儲存過程的通用方法(SQLServer篇)

2021-04-30 15:38:12 字數 889 閱讀 4808

這裡討論的是ado呼叫儲存過程,按msdn的例子,一般都是下面的呼叫方法(節選自msdn):

_connectionptr pconnection = null;

m_conn.createinstance(__uuidof(connection));

m_conn->connectionstring = "provider=sqloledb;data source=srv;"initial catalog=pubs;user id=sa;password=;";

m_conn->open("","","",null);

_variant_t m_param;

_bstr_t m_bstr;

int index = 0,nfieldcount;

_recordsetptr m_rs;

m_rs.createinstance(__uuidof(recordset));

m_rs->open("select * from titles",(idispatch*)(m_conn->m_conn),adopenstatic,    adlockreadonly,adcmdtext);

nfieldcount = m_rs->fields->count;

while(!m_rs->endoffile)

m_rs->movenext();

}m_rs->close();

m_conn->close();

以上一段就是普通的執行查詢sql語句的**,簡單起見,去掉了所有防護和判斷**,對於ms sqlserver,如果是執行返回結果集的儲存過程,比如pubs的byroyalty,只需要把上面**中的"select * from titles"替換成"byroyalty 100"就可以了,即"過程名 引數1,引數2,..."形式。

VC呼叫儲存過程的通用方法(SQLServer篇)

vc呼叫儲存過程的通用方法 sqlserver篇 這裡討論的是ado呼叫儲存過程,按msdn的例子,一般都是下面的呼叫方法 節選自msdn connectionptr pconnection null m conn.createinstance uuidof connection m conn co...

vc2010呼叫儲存過程

coinitialize null connectionptr pmyconnect null hresult hr pmyconnect.createinstance uuidof connection if failed hr return bstr t strconnect provider ...

VC中使用ADO呼叫儲存過程

2.為了使我們的呼叫儲存過程的例子有更多的通用性,我建了有輸入引數,有輸出引數,有乙個返回記錄集,有乙個返回值的儲存過程,如下 create procedure sp 1 pin1 int pin2 char 10 pout1 int output,pout2 char 10 output as b...