다음 작업 코드가 있습니다. 여기에는 1 개의 입력 매개 변수와 2 개의 출력 매개 변수가 있습니다. 어떤 ado.net 메소드를 사용해야합니까? 이 cmd.ExecuteNonQuery()
를 사용하여 제안 Get output parameter value in ADO.NETADO.NET 여러 출력 매개 변수를 설정하는 데 사용할 대상 - ExecuteScalar, ExecuteReader 또는 ExecuteNonQuery 또는 아무것도 아니요?
:
OneInputTwoOutput oneInputTwoOutput = new OneInputTwoOutput();
var Param = new DynamicParameters();
Param.Add("@Input1", Input1);
Param.Add("@Output1", dbType: DbType.Boolean, direction: ParameterDirection.Output);
Param.Add("@Output2", dbType: DbType.Boolean, direction: ParameterDirection.Output);
try
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["connectionString"]))
{
using (SqlCommand cmd = new SqlCommand("GetOneInputTwoOutput", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Input1", SqlDbType.Int).Value = Input1;
cmd.Parameters.Add("@Output1", SqlDbType.Bit).Direction = ParameterDirection.Output;
cmd.Parameters.Add("@Output2", SqlDbType.Bit).Direction = ParameterDirection.Output;
con.Open();
dealerStatus.Output1= (cmd.Parameters["@Output1"].Value != DBNull.Value ? Convert.ToBoolean(cmd.Parameters["@Output1"].Value) : false);
dealerStatus.Output2= (cmd.Parameters["@Output2"].Value != DBNull.Value ? Convert.ToBoolean(cmd.Parameters["@Output2"].Value) : false);
con.Close();
}
}
}
catch (SqlException err)
{
}
나는이 링크를 참조하십시오. 하지만이
cmd.ExecuteNonQuery()
을 사용하지 않아도 출력 매개 변수를 설정할 수 있습니다.
누군가 설명 할 수 있습니까? 그리고 여기서 무엇을 사용해야합니까? 정말