У меня есть этот общий метод, который я использовал в основном для вставки и получения данных из базы данных. Но теперь я столкнулся с проблемой, что, когда есть выходное значение, мне нужно создать новый метод, который принимает и выводит значения, возвращаемые выходной переменной в запрос моего db. Я слышал, что вы можете использовать его так.Как получить данные с параметром return с помощью 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» вы можете получить вставленный идентификатор строки (если вы указали идентификатор строки, скажем, как первичный ключ) –