Member 12976811 Ответов: 2

Как добавить значение базы данных в динамическую метку в ASP.NET


у меня есть ссылка на объект, не установленная на экземпляр объекта в этом коде

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

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

пространство имен AttendanceSystem
{
общественности частичного класс test : системы.Веб.Пользовательского интерфейса.Страницы
{
protected void Page_Load(отправитель объекта, EventArgs e)
{
строка dropddbranch = Session ["Depart"].Метод toString();
строка dropddsection = Session ["Section"].Метод toString();
строка Connectionstring = ConfigurationManager.ConnectionStrings ["connstr"].Метод toString();
Sqlconnection objConnection = new SqlConnection(Connectionstring);
возражение.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("выберите граф(Student_name) от Student_table где Section_id= '" + dropddsection + " и S_Department= '" + dropddbranch + "'", objConnection);
УМК.Метод executenonquery();
int no = (int)cmd.Executescalar так();
int i = 0;
/*Label label = новая метка();
этикетка.Текст = нет.Метод toString();
Форма.Контроля.Добавить (метка);*/
/ Этикетка / лейбл = новый лейбл();
Label[] label= новая метка[нет];
Команда sqlcommand mycommand = новая команда sqlcommand("выберите Roll_no от Student_table где Section_id= '" + dropddsection + " и S_Department= '" + dropddbranch + "' заказ Roll_no АСК", objConnection);
SqlDataReader myReader = mycommand.Метода executereader();
пока(myReader.Читать () и усилитель; & я&Л;не)
{

// TxtRegNo.Text = (myReader ["Reg_no"].Метод toString());
// myReader.Читать();
строка lb = myReader ["Roll_no"].Метод toString();
метка[i].Текст = lb;
Форма.Контроля.Добавить (метка[i]);
я++;
}
возражение.Закрывать();
}


}
}

2 Ответов

Рейтинг:
2

Ramesh Kumar Barik

Ссылка на объект не установлена на экземпляр объекта проблема возникла из-за того, что не обрабатывалось нулевое значение.

Экс. Если какая-либо переменная содержит нулевое значение, снова попробуйте преобразовать это значение в любое другое значение, когда возникнет эта проблема ссылки на объект.
В вашем случае вы пытаетесь преобразовать значение сеанса в строку.
Сессия ["Отбыть"].Метод toString().

Так что, возможно, значение сеанса равно нулю.

В этом сценарии, если вы хотите обработать нулевое значение, вы можете проверить значение null перед преобразованием значения в строку.
любить
If (Session ["Depart"]!=null)
{
// затем ваш код.
}

Или используйте Convert.Tostring (Session ["Depart"]), который обрабатывает нулевое значение.


Рейтинг:
15

Vincent Maverick Durano

Ошибка, вероятно, была вызвана тем, что ваша переменная сеанса была нулевой. Я бы посоветовал вам проверить наличие null перед доступом к значениям сеанса. Например:

if(Session["Depart"] != null && Session["Section"] != null){
   //your code here
   //acces session values here
}


Кроме того, добавление значений непосредственно в строку SQL-оператора-это большое Нет-нет, так как это может привести вас к атаке SQL-инъекции. Сделайте это привычкой параметризовать запрос Во-вторых, сделайте привычкой помещать объекты, которые потребляют ресурсы, такие как SqlConnection, SqlCommand и SqlDataAdapter, в Оператор using, чтобы гарантировать, что объекты будут правильно утилизированы и закрыты после их использования.