我的System.Data.SqlClient
報告我忘了傳遞參數。SQL Server 2008 R2丟失參數
嗯,我一直在撓我的頭。
我在VS2008中使用SQL Server 2008 R2和Asp.Net MVC2。
這是屏幕。
我錯過了什麼?
編輯
這裏是存儲過程頭
ALTER PROCEDURE [dbo].[ClientMst_AUTO](@Params VARCHAR(50),@result xml output)
as
BEGIN
我的System.Data.SqlClient
報告我忘了傳遞參數。SQL Server 2008 R2丟失參數
嗯,我一直在撓我的頭。
我在VS2008中使用SQL Server 2008 R2和Asp.Net MVC2。
這是屏幕。
我錯過了什麼?
編輯
這裏是存儲過程頭
ALTER PROCEDURE [dbo].[ClientMst_AUTO](@Params VARCHAR(50),@result xml output)
as
BEGIN
的代碼看起來不錯乍一看 - 我看到的是可能解釋行爲的唯一一點就是:你定義的參數@result
爲ParameterDirection.InputOutput
- 但你沒有提供的任何值參數上輸入側...
嘗試加入這一行添加parm2
到cmd.Parameters
採集前:
parm2.Value = string.Empty;
這是否能改變什麼?
OR:只是將參數定義爲ParameterDirection.Output
(而不是InputOutput
) - 是否解決了問題?
SPOT ON!這正是問題所在。非常感謝marc。現在它初始化參數值後工作正常。 – Deb
你能告訴我們你正在使用的實際SQL語句嗎?另外:當你定義一個'SqlParameter'類型的'SqlDbType.VarChar' - 你應該**總是**定義一個長度 - 否則你可能會以1個字符長度的字符串結束! –
你的意思是存儲過程或命令文本? – Deb
如果它是一個存儲過程 - 那麼存儲的proc頭文件(查看參數的樣子) - 否則是完整的SQL語句。 –