我在SQL Server 2005中有一個列的數據類型爲xml
的表。我創建了一個存儲過程以將值插入到該列中。通過存儲過程插入XML數據時出錯
但在C#代碼從調用SP時,它給我未能參數值從一個的XDocument轉換爲字符串錯誤
。
任何人都可以幫忙嗎?
這是存儲過程,我創建:
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);
請幫我鑑定一下我做錯了。
如果您發佈的代碼,XML或數據樣本,**請**突出顯示文本編輯器的線,然後點擊「代碼(編輯器)工具欄上的「樣本」按鈕(「{}」),以精確地格式化和語法突出顯示它! – 2012-02-02 11:27:07
在你的C#代碼中,你提供了參數的值?我沒有看到。基本上--XML類型的SQL Server是一個榮耀的字符串 - 它不能直接處理'XDocument' - 你必須將'XDocument'序列化爲一個字符串以將它傳遞給SQL Server(例如,使用''。 ToString()'方法) – 2012-02-02 11:33:28
謝謝@marc_s:在發佈任何新問題時,我會記住你的建議。也感謝解決方案。 – 2012-02-02 13:22:08