我在SQL Server 2005中有一个表的列数据类型为xml
。我创建了一个存储过程来将值插入到该列中。
但是当从C#中的代码调用SP时,它给了我一个错误
无法将参数值从XDocument转换为String。
任何人都可以帮忙吗?
这是我创建的存储过程:
Create Procedure [dbo].[TestReportRepository_Save]
@ReportExecutionTime datetime,
@ReportFile xml,
as
begin
insert into TestReportRepository(ReportExecutionTime,ReportFile) values(@ReportExecutionTime,@ReportFile)
end
C#代码是
DbParameter dbParam1 = dac.Parameter("@ReportExecutionTime", ReportExecutionTime, DbType.DateTime, ParameterDirection.Input);
DbParameter dbParam2 = dac.Parameter("@ReportFile", xmlDoc.Document, DbType.Xml, ParameterDirection.Input);
DbParameter[] dbParamColl = new DbParameter[] { dbParam1, dbParam2 };
long reportID = dac.Save("TestReportRepository_save", dbParamColl);
请帮我辨别我做错了什么。
答案 0 :(得分:3)
传递此参数时 - 不传递XDocument对象,而是传递其字符串表示。
对于XmlDocument,它是XmlDocument.OuterXml,为XDocument找到一个并传递它