나는 모두 데이터베이스에서 데이터를 삽입하고 가져 오는 데 주로 사용되는 일반적인 방법을 사용합니다. 하지만 이제는 출력 값이있을 때 db라는 쿼리에서 출력 변수에 의해 반환 된 값을 받아 들여 출력하는 새로운 메서드를 만들어야하는 문제를 발견했습니다. 이런 식으로 사용할 수 있다고 들었습니다.C#을 사용하여 반환 매개 변수가있는 데이터를 얻으려면 어떻게해야합니까?
cmd.Parameters.Add("@new_id", SqlDbType.Int).Direction = ParameterDirection.Output;
하지만 어떻게 내가 일반적인 방법으로이 코드를 변경하지.
내 일반적인 메소드 코드는 다음과 같습니다.
public DataTable GetDataWithParam(string spName, Dictionary<string, string> parms)
{
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = spName;
foreach (var para in parms)
{
cmd.Parameters.AddWithValue(para.Key, para.Value);
}
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
OpenConnection();
DataSet ds = new DataSet();
da.Fill(ds);
CloseConnection();
return ds.Tables[0];
}
}
catch (Exception ex)
{
ex.Message.ToString();
return null;
}
}
출력 변수를 얻으려면 어떻게해야합니까? 도움이 대단히 감사합니다. 또한 db 쿼리에서 반환 값은 int입니다.
'ParameterDirection.Output'을 사용하여 삽입 된 행 ID를 얻을 수 있습니다 (행 ID를 지정한 경우 기본 키로 말할 수 있음) –