求大神:C语言如何执行SQL sever的存储过程?

求大神:C语言如何执行SQL sever的存储过程?,第1张

执行稿和带参数存储过程的方法如下:

Exec sp_configure 'allow updates',1 --允许更新系统表。

exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'

以上是两个例子。

SQL Server中执行带参数的存储过程的方法是:

EXEC 存储过程名字 '参数1','参数2',数值参数

EXEC 是一个关键埋盯键字。

字符串参数液指使用单引号括起来,数值参数不需要使用单引号

给个例子给你看返如下:

...

_CommandPtrm_cmdptr

m_cmdptr.CreateInstance(__uuidof( Command ) )

_ParameterPtr inParam2=NULL

_ParameterPtr inParam3=NULL

_ParameterPtr inParam4=NULL

_ParameterPtr outParam1=NULL

_ParameterPtr outParam2=NULL

_ParameterPtr outParam3=NULL

inParam2.CreateInstance(__uuidof(Parameter))

inParam3.CreateInstance(__uuidof(Parameter))

inParam4.CreateInstance(__uuidof(Parameter))

outParam1.CreateInstance(__uuidof(Parameter))

outParam2.CreateInstance(__uuidof(Parameter))

outParam3.CreateInstance(__uuidof(Parameter))

m_cmdptr->ActiveConnection=m_pConnection

m_cmdptr->CommandType=adCmdStoredProc

m_cmdptr->CommandText=_bstr_t("proc_XXX")//存储过程的名称

//闭唯输入参数

inParam2=m_cmdptr->CreateParameter(_bstr_t("@P1"),adVarChar,adParamInput,32,_bstr_t(P1))

m_cmdptr->Parameters->Append(inParam2)

inParam3=m_cmdptr->CreateParameter(_bstr_t("@P2"),adVarChar,adParamInput,20,_bstr_t(P2))

m_cmdptr->Parameters->Append(inParam3)

//输出参数

outParam1=m_cmdptr->CreateParameter("@P4",adInteger,adParamOutput,sizeof(int))

m_cmdptr->轿世培Parameters->Append(outParam1)

outParam2=m_cmdptr->CreateParameter("@P5",adInteger,adParamOutput,sizeof(int))

m_cmdptr->Parameters->Append(outParam2)

outParam3=m_cmdptr->CreateParameter(_bstr_t("@P6"),adVarChar,adParamOutput,20,_bstr_t(P6))

m_cmdptr->Parameters->Append(outParam3)

//执行

m_cmdptr->Execute(NULL,NULL,adCmdStoredProc)

//取返回值

long p1=m_cmdptr->Parameters->GetItem("@P4")->Value

long p2=m_cmdptr->Parameters->GetItem("@P5")->Value

VARIANT vtP6 =m_cmdptr->Parameters->GetItem("@P6")->Value

if (vtP6.vt != VT_NULL)

strcpy(tp,(_bstr_t)vtP6)

m_cmdptr.Detach


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12452713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存