当尝试从 c++ 执行 sql server 中的存储过程时,我得到 ce = {DB_E_ERRORSINCOMMAND}
c++代码是
pCom->Execute(NULL,NULL,adCmdStoredProc);
从命令对象执行..
存储过程看起来像这样
create PROCEDURE [dbo].[InsertTicketDetails]
AS
BEGIN
DECLARE @inputXml XML;
SET NOCOUNT ON
set @inputXml = '<Record><studentid>143</studentid></Record>';
INSERT INTO dbo.sample (studentid)
SELECT
@inputXml.value( 'studentid[1]', 'int' ) AS studentid
FROM @inputXml.nodes('/Record') a(y)
END
如果在没有 xml 正常工作的情况下完成插入,则此处的插入是使用 xml 完成的。我认为这是 xml 的问题,或者我们无法从 c++ 访问 sql server 的 xml 功能?