Я хочу получить данные из базы данных в ASP.NET C# использует SQL reader, но в while loop index 0 не запускается в моем коде.
я хочу, чтобы для извлечения данных из базы данных в asp.net с помощью SQL читатель, но какое-то условие не работает должным образом, Пожалуйста, помогите мне,
while( red.Read()) { lblnumber.Text = red[0].ToString(); lblcname.Text = red[1].ToString(); lbltname.Text = red[2].ToString(); }
в цикле while с индексом 0 не выполняется в моем коде
Что я уже пробовал:
try { SqlConnection connn = new SqlConnection("@Data Source=.;Initial Catalog=Quiz_system;Integrated Security=True"); connn.Open(); SqlCommand sqlCmd = new SqlCommand("select sdt_reg_no, course_name,teacher_name fron tbl_std_reg_course where std_reg_no='" + Session["regnumber"] + "' And course_name='" + Session["coursename"] + "'", connn); SqlDataReader red = sqlCmd.ExecuteReader(); while( red.Read()) { lblnumber.Text = red[0].ToString(); lblcname.Text = red[1].ToString(); lbltname.Text = red[2].ToString(); } connn.Close(); } catch(System.Data.SqlClient.SqlException ex) { string msg = "Already exist:"; msg += ex.Message; throw new Exception(msg); } finally { }
njammy
Вы имеете в виду, что получаете исключение о нулевом индексном массиве вне границ или что-то подобное?
Пожалуйста, уточните это с помощью кнопки улучшить ссылку на вопрос на этой странице и обновите свой вопрос с точной проблемой, с которой вы столкнулись.
[no name]
Что вообще означает "in while loop at index 0 not run in my code"?
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]
ZurdoDev
Что значит "не будет работать в моем коде" значит?
Richard Deeming
И если ваш while
цикл не выполняется, это означает, что ваш запрос не вернул никаких записей.
Мы не можем сказать вам почему, потому что у нас нет доступа к вашей базе данных и мы понятия не имеем, какие значения вы запрашиваете.