MemberChecker.CommandType = CommandType.StoredProcedure;
追加され 、問題が解決しました!
---- ここで面白い質問がありました!
ストアド プロシージャにアクセスする SqlCommand が使用する場合にのみ機能するのはなぜですか
ParameterDirection.InputOutput
そしてそうではない
ParameterDirection.Output
ParameterName '@Customer' の SqlParameter は、この SqlParameterCollection に含まれていません
これが私のコードの一部です:
using (SqlConnection H20_Connection = new SqlConnection(ConfigurationManager.ConnectionStrings["H20"].ConnectionString))
{
SqlCommand MemberChecker = new SqlCommand("execute custom_x_Check", H20_Connection);
MemberChecker.Parameters.Add("@TN", SqlDbType.VarChar,50).Value = TNH20.Text.Trim();
MemberChecker.Parameters.Add("@Customer_ID", SqlDbType.VarChar, 50).Value = TNH20.Text.Trim();
MemberChecker.Parameters.Add("@Customer", SqlDbType.VarChar, 100).Direction = ParameterDirection.Output;
MemberChecker.Parameters.Add("@Out_TN", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output;
MemberChecker.Parameters.Add("@Out_Customer_ID", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output;
H20_Connection.Open();
if (MemberChecker.ExecuteNonQuery() > 1)
{
Top.Visible = false;
Bottom.Visible = true;
}
else
{
Top.Visible = true;
Bottom.Visible = false;
}
}
そして私のSQL
alter proc custom_Check
@TN varchar(50) ='',
@Customer_ID varchar(50)='',
@Customer varchar(100) out,
@Out_TN varchar(50) out,
@Out_Customer_ID varchar(50) out
as
select @Out_Customer_ID=Customer_ID,
@Out_TN = MainTN,@Customer = Customer
from [vCustomerName]
where Customer_ID = @Customer_ID or @TN = MainTN
ありがとう!