這個問題讓我很生氣。我的代碼片段提交值的存儲過程:SQL Server錯誤過程或函數'PerformKeywordSearch'期望參數'@SearchString',這是沒有提供
using (var con = new SqlConnection(this.Connection.ConnectionString))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("EXEC PerformKeywordSearch", con))
{
cmd.Parameters.Add(new SqlParameter { Value = submittedString, DbType = DbType.String, ParameterName = "@SearchString" });
using (var dr = cmd.ExecuteReader())
{
matches.Add(
int.Parse(dr["JobID"].ToString()),
float.Parse(dr["RANK"].ToString()));
}
}
}
在SQL Server Profiler中我可以看到,它提交該到數據庫:
exec sp_executesql N'EXEC PerformKeywordSearch',N'@SearchString nvarchar(26)',@SearchString=N'(software AND developer)'
我總是得到錯誤:
過程或函數'PerformKeywordSearch'期望參數'@SearchString',它沒有提供。
我不知道爲什麼我得到這個,如果我重新格式化稍微是:
EXEC PerformKeywordSearch @ SearchString在= N「(軟件和開發者)」
然後一切正常完美。這是ADO.NET的問題還是我需要一些聰明的格式來使這項工作?
檢查這個https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4e7366e9-7b16:在這個環節
參考-4ad2-9616-816ccbffdf63 /執行存儲過程與輸入參數使用spexecutesql論壇= transactsql –