Я хотел бы создать временную таблицу на любом из этих событий, в зависимости от того, какой из них будет наиболее разумным в реальном приложении: событие загрузки страницы или второй раз нажата кнопка. У меня есть простая хранимой процедураСоздайте временную таблицу с хранимой процедурой на загрузке страницы
create proc spMakeTempTable
create table #tempTable (columnName varchar(50))
и C#
protected void Page_Load(object sender, EventArgs e)
{
txtDrugList.Focus();
string cs = ConfigurationManager.ConnectionStrings["dbcs"].ConnectionString;
using (var con = new SqlConnection(cs))
{
using (var cmd = new SqlCommand("spMakeTempTable", con))
{
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
}
}
мне нужна временная таблица, чтобы быть специфическими для конкретной сессии, так что, если разные люди посещали этот сайт другой временную таблицы будет быть создан для них. Однако при запуске приложения и загрузки страницы временная таблица не создается. Если я изменяю sproc для создания глобальной временной таблицы, он работает. Я не думаю, что это то, что я хочу, хотя, поскольку я хотел бы, чтобы каждая временная таблица была ориентирована на посетителя. Если посетитель обновляет страницу, это прекрасно, что таблица temp будет уничтожена и воссоздана.
Во-вторых, разумно ли иметь выполнение proc в событии загрузки страницы, или я должен поместить эту логику в событие нажатия кнопки?
Мне интересно узнать, почему вы хотите создать временную таблицу для сеанса, когда вы можете просто использовать объект 'Session'? –
Что вы хотите сохранить в этой временной таблице? –
На странице будет кнопка, которая отправит текст, который они набирают, в текстовое поле и вставляет его в таблицу temp. Затем другая хранимая процедура будет выполнять перекрестное соединение всего, что они ввели в таблицу temp. – wootscootinboogie