Соединение открывается и закрывается, как правильно его использовать ?
Привет друзья, вот мой код, который я просто хочу знать, где и когда следует использовать соединение Open/Close?
Пожалуйста, для лучшего понимания отредактируйте мой код и опубликуйте свои ответы.
Примечание: Я не получаю ошибку.
Большое вам всем спасибо.
Что я уже пробовал:
общественные частичное категории Класс : система.Веб.Пользовательского интерфейса.Страницы
{
SqlConnection con = новый SqlConnection();
PagedDataSource pds = новый PagedDataSource();
protected void Page_Load(отправитель объекта, EventArgs e)
{
против.ConnectionString = ConfigurationManager.ConnectionStrings ["Конн"].Параметр connectionString;
пробовать
{
if (! IsPostBack)
{
showData();
}
}
поймать (исключение бывший)
{
Ответ.Напиши (напр.Метод toString());
}
}
void showData()
{
против.Открыть();
строка catsearch = Convert.ToString(Session ["category"]);
строка SQL = "выбрать * из Table_One, где категории, как @категория или GenreOne как @genre1 или GenreTwo как @genre2 или GenreThree как @genre3 или аудио, как @аудио или язык, как язык";
SqlCommand cmd = new SqlCommand(sql, con);
// Добавьте параметры, необходимые для SQL-запроса
УМК.Параметры.AddWithValue ("@category", " % " + catsearch + "%");
УМК.Параметры.AddWithValue("@genre1", " % " + catsearch + "%");
УМК.Параметры.AddWithValue("@genre2", " % " + catsearch + "%");
УМК.Параметры.AddWithValue("@genre3", " % " + catsearch + "%");
УМК.Параметры.AddWithValue ("@audio", " % " + catsearch + "%");
УМК.Параметры.AddWithValue ("@language", " % " + catsearch + "%");
SqlDataAdapter da = новый SqlDataAdapter(cmd);
Набор ДТ = новый набор данных();
да.Заполнить(ДТ);
ШПР.Источник данных = ДТ.Таблицы[0].DefaultView;
ПДС.AllowPaging = true;
//СПД.Pagesize Для = Конвертировать.ToInt16(ddlPageSize.SelectedValue);
pds. PageSize = 20;
ПДС.CurrentPageIndex = CurrentPage;
Linknext.Включено = !ШПР.IsLastPage;
Обратная связь.Включено =! pds.IsFirstPage;
DataList2.Источник данных = ШПР;
DataList2.Привязку();
lbl_heading_top.Текст = Преобразовать.ToString (catsearch) + "" + " список фильмов";
допинг();
против.Закрывать();
}
public int CurrentPage
{
получить
{
if (this. ViewState ["CurrentPage"] = = null)
возвращает 0;
еще
возвратный конверт.ToInt16 (this. ViewState ["CurrentPage"].Метод toString());
}
набор
{
this. ViewState ["CurrentPage"] = значение;
}
}
частный пустотный допинг()
{
DataTable dt = новый DataTable();
ДТ.Столбцы.Добавить ("PageIndex");
ДТ.Столбцы.Добавить ("PageText");
for (int i = 0; i < pds. PageCount; i++)
{
Доктор строкаданных = ДТ.Невров();
dr[0] = i;
dr[1] = i + 1;
ДТ.Строк.Добавить(д-р);
}
dlPaging.Источник данных = dt;
dlPaging.Привязку();
}
охраняемых недействительными specs_ItemCommand(источник, объект, DataListCommandEventArgs е)
{
строка i = преобразовать.ToString(e. CommandArgument);
Сессия ["id"] = i;
Ответ.Перенаправление ("Selected_Item. aspx");
}
protected void dlPaging_ItemCommand1(object source, RepeaterCommandEventArgs e)
{
если (электронная.Имя_команды."Равно" ("lnkbtnPaging"))
{
CurrentPage = Конвертировать.ToInt16(электронная.CommandArgument.Метод toString());
showData();
}
}
охраняемых недействительными Linknext_Click(объект отправителя, EventArgs в электронной)
{
CurrentPage += 1;
showData();
}
охраняемых недействительными Linkback_Click(объект отправителя, EventArgs в электронной)
{
CurrentPage -= 1;
showData();
}
охраняемых недействительными dlPaging_ItemDataBound1(объект отправителя, RepeaterItemEventArgs е)
{
LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging");
if (lnkbtnPage.Командный аргумент.ToString () = = CurrentPage.Метод toString())
{
lnkbtnPage.Enabled = false;
lnkbtnPage.Шрифт.Жирный = истина;
}
}
}