Используя метод SqlDataAdapter
(или другой метод ASP.NET), можно ли сделать один вызов SQL как для хранимой процедуры, так и для запуска оператора select? Оба имеют параметры.SqlDataAdapter - объединить хранимую процедуру и оператор Select с параметрами
Я знаю, вы можете объединить несколько операторов выбора ...
DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection(myConnectionString))
{
connection.Open();
SqlDataAdapter cmd = new SqlDataAdapter("SELECT id FROM Table1 WHERE [email protected]; SELECT id FROM Table2", connection);
cmd.SelectCommand.Parameters.AddWithValue("@id",myid);
cmd.Fill(ds);
}
И вы можете вызвать хранимую процедуру подобным образом ...
DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection(myConnectionString))
{
connection.Open();
SqlDataAdapter cmd = new SqlDataAdapter("myStoredProcedure", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.SelectCommand.Parameters.AddWithValue("@id",myid);
cmd.Fill(ds);
}
Но я хотел бы объединить два в один звонок.
Мне нужно сохранить хранимую процедуру и выбрать утверждения отдельно. Я не хочу объединять их в одну хранимую процедуру.
Благодарим за помощь!
Благодаря Хуан! Поэтому, если бы я хотел передать два параметра в мою процедуру магазина, это будет выглядеть так: «Exec myStoredProcedure @myid, @ myid2» Кроме того, что, если одним из этих параметров был пользовательский тип таблицы? –
Да, вы должны передать весь параметр, требуемый командой multi-statement. –