Я вызываю хранимую процедуру SQL, которая возвращает небольшую таблицу пользователей и их боссов. Что я хотел бы сделать, так это сравнить эту информацию с переменной в другой части моего приложения, чтобы включить/отключить редактирование строки GridView. Кажется, что для этого метод GetValues
вернет то, что мне нужно, то есть весь набор данных, который возвращает хранимая процедура. Я думаю, что как только у меня будут эти данные в моем приложении, я смогу загрузить этот набор данных в массив и прокрутить его, чтобы сделать то, что мне нужно.
Проблема вот в чем. В моем коде ниже я получаю сообщение об ошибке
Невозможно неявно преобразовать тип «int» в «объект»
Когда я смотрю на документация по этому методу, возвращаемое значение - int
.
Мой вопрос: поскольку хранимая процедура содержит строковые данные (имена пользователей и боссов), почему мехтод GetValues
возвращает int
? Как мои фактические данные представлены в виде числа и как я могу получить свои данные в массиве на основе строк?
Я просмотрел много примеров и информации в Интернете, похоже, это обычная проблема, с которой сталкиваются новые люди. Я просто не понимаю или не понимаю, и я не делаю никакого прогресса. Любая помощь приветствуется!
public Object[] GetDeptAppData()
{
Object[] myObject;
string sp_deptapp, sp_status, sp_supervisor;
//execute stored procedure to get data from database
SqlConnection sqlConnection = new SqlConnection("Data Source=MyServer;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser;Password=MyPassword");
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.CommandText = "SP_Admin_DeptApp_Load";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = sqlConnection;
sqlConnection.Open();
reader = cmd.ExecuteReader();
if (reader.HasRows == true)
{
//sp_deptapp = reader.GetValue(0).ToString();
//sp_status = reader.GetValue(1).ToString();
//sp_supervisor = reader.GetValue(2).ToString();
myObject = reader.GetValues(myObject);
}
else
{
//nothing in reader, throw exception
}
sqlConnection.Close();
return myObject;
}