Ravi Ответов: 1

System.invalidoperationexception: fill: selectcommand. connection свойство не было инициализировано


Цитата:
использование системы;
использование системы.Сеть;
используя системы.Веб.ИП;
используя системы.Веб.Пользовательского интерфейса.WebControls;
используя системы.Данных.Поставщики sqlclient;
используя системы.Сведения;



общественный разделяемого класса adminpanel_index : система.Веб.Пользовательского интерфейса.Страницы
{
Объект sqlconnection кон = новое sqlconnection(@"источник данных=рабочий стол-Q4BLQB1\SQL2014;начальный каталог=naturetile;Комплексная безопасность=истина");
int i;
protected void Page_Load(отправитель объекта, EventArgs e)
{

}

охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
против.Открыть();
Команда sqlcommand команду cmd = новый sqlcommand, который();
УМК.CommandType = CommandType. Text;
УМК.Свойства commandtext = "выбрать* из adsign где emid='" + текстовое поле textbox1.Текст + "'и Pass='" + текстовое поле textbox1.Текст + "'";
DataTable dt = новый DataTable();
SqlDataAdapter da = новый SqlDataAdapter(cmd);
да.Заполнить(ДТ);
i = преобразовать.ToInt32 (dt.Rows.Рассчитывать.Метод toString());
если (i == 1)
{
Ответ.Перенаправление ("home. aspx");
}
ещё
{
Этикетка 1.Text = " вы ввели недопустимый U& p";
}
против.Закрывать();
}
}


Что я уже пробовал:

хотите войти успешно и перенаправить на другую страницу

[no name]

Вы просите, чтобы ваша база данных была удалена.
Вы сохраняете пароли в обычном тексте? Пожалуйста, не ходите работать в мой банк.
Ваша команда не связана с соединением.
Какой у вас вопрос?

Ravi

это для входа в систему, я хочу, чтобы пользователь @ pass как правильно переходил на другую страницу ?
когда я запускаю код ошибки приходит да.Заполнить(ДТ); дополнительная информация: наполнитель: команды selectcommand.Свойство соединения не было инициализировано. как это решается

Richard Deeming

И зачем вы заново изобретаете колесо? ASP.NET имеет несколько совершенно хороших встроенных систем аутентификации. Например, Личность ASP.NET [^].

1 Ответов

Рейтинг:
2

F-ES Sitecore

Ошибка не требует объяснений, вы не установили соединение для команды.

SqlCommand cmd = new SqlCommand();
cmd.Connection = con;


Кроме того, когда у вас есть ошибка, всегда говорите, на какой линии она находится.

Ваш код также подвержен атакам SQL-инъекций, используйте параметризованные запросы, а не конкатенацию строк.