Если у меня есть следующая хранимая процедура, как мне вызвать выбранное значение, aka CourseId
в моем коде, чтобы я мог установить его в переменную?Как вызвать выбранное значение из хранимой процедуры
CREATE PROCEDURE [dbo].GetCourseIDFromCourseNumber(
@courseNo int,
@termId int,
@courseId int OUTPUT
)
AS
BEGIN
SELECT @courseId = CourseId
FROM Course
Where (CourseNumber = @courseNo AND TermId = @termId)
КОНЕЦ
C# код
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.CommandText = "GetCourseIDFromCourseNumber";
objCommand.Parameters.AddWithValue("@courseNo", courseNumber);
objCommand.Parameters.AddWithValue("@termId", term);
objCommand.Parameters.AddWithValue("@section", section);
//Create an Output parameter to store value from stored procedure
SqlParameter courseIdParam = new SqlParameter("@courseId", SqlDbType.Int);
courseIdParam.Direction = ParameterDirection.Output;
objCommand.Parameters.Add(courseIdParam);
//execute stored procedure
DBConnect objDB = new DBConnect();
SqlConnection connect = objDB.GetConnection();
connect.Open();
objCommand.ExecuteNonQuery();
connect.Close();
//read parameter value
if (courseIdParam.Value != null)
{
var courseId = (int)courseIdParam.Value;
Session["Course"] = courseId;
}
GetDataSet
метод
public DataSet GetDataSetUsingCmdObj(SqlCommand theCommand)
{
// Used for stored procedures (Select only) with parameters
try
{
theCommand.Connection = myConnectionSql;
SqlDataAdapter myDataAdapter = new SqlDataAdapter(theCommand);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet);
ds = myDataSet;
}
catch (Exception e)
{
}
finally
{
myConnectionSql.Close();
}
return ds;
}
Вы что-то пробовали? если не попытаться создать команду с типом команды как StoredProcedure, добавьте необходимые параметры в команду и, наконец, выполните команду. Вернитесь, если вы столкнулись с чем-то неправильным в исполнении. –
@ un-lucky Я попытался это сделать, но он не работал, и я не был уверен, где я ошибся. Я редактировал и добавлял в код, который у меня есть – alex
, вы получаете какое-либо исключение в catch? Надеюсь, что оба значения 'courseNumber', а также' term' являются целыми числами –