求解:sp_xml_preparedocument: The value supplied for parameter number 2 is invalid.
- <root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<?MSSQLError HResult="0x80040e14" Source="Microsoft OLE DB Provider for SQL Server" Description="sp_xml_preparedocument: The value supplied for parameter number 2 is invalid."?>
</root>
------------------------------------------------------------------------
表结构(Northwind)
create table employee(eid int,fname ,varchar(20),lname varchar(20))
------------------------------------------------------------------------
存储过程 sp_insert_employee
CREATE PROC sp_insert_employee @empdata ntext
AS
DECLARE @hDoc int
EXEC sp_xml_preparedocument @hDoc OUTPUT , @empdata
INSERT INTO employee
SELECT *
FROM OPENXML(@hDoc, '/Employee')
WITH Employee
EXEC sp_xml_removedocument @hDoc
GO
----------------------------------------------------------------
insertEmployee.html
<html>
<body>
<form action="http://192.168.0.118/nwind/template/MyTemplate.xml" method="post">
<input type="hidden" id="e" name="empdata">
<input type="hidden" name="contenttype" value="text/xml">
EmployeeID: <input type="text" name="eid" value="1"><br>
First Name: <input type="text" name="fname" value="Harry"><br>
Last Name: <input type="text" id="lname" value="Smith"><br>
<input type=submit onclick="Insert_Employee(e, eid,
fname, lname)" value="Insert Employee"><br><br>
<script language="javascript">
function Insert_Employee(e,eid,fname,lname)
{
e.value = '<Employee eid="' + eid.value +
'" fname="' + fname.value + '" lname="' +
lname.value + '"/>';
}
</script>
</form>
</body>
</html>
------------------------------------------------------------------------
MyTemplate.xml
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name="empdata"><Employee/></sql:param>
</sql:header>
<sql:query>exec sp_insert_employee @empdata
</sql:query>
</root>