ДМИТРИЙ
08.01.2016 в 18:52
Здравствуйте!
Подскажите, пожалуйста, мне нужно из базы данных получить список станций и поместить их в список (List).
По аналогии с вышеуказанным примером пробую сделать следующее:
Но при прогоне с помощью дебаггера у меня внутрь цикла while программа не заходит, хотя таблицы в БД точно не пустые.
Подскажите, пожалуйста, верен ли ход мысли и если да, то в чём может быть загвоздка в while?
ADMIN
09.01.2016 в 16:36
Привет.
Если в этот блок не попадаем, то строк – нет, а это значит, что-либо данных в указанной таблице — нет, либо sql запрос составлен неверно и его нужно проверить. Например, с помощью phpmyadmin или консоли выполнить его и посмотреть, что он вернёт.
ДМИТРИЙ
10.01.2016 в 12:29
Спасибо, попробую! А что касается списка — идея/реализация верная?
ADMIN
12.01.2016 в 00:48
А что здесь не так в плане идеи/реализации? Получили данные, заполнили список и передали его дальше. Довольно часто такое можно встретить.
ЭЛЬВИРА
12.01.2016 в 23:53
А можно ли как-то заменить названия столбцов. Т.е. в данном примере выводить не «Name», а «Имя». Или будет выводится только то, что заданно в БД?
ADMIN
14.01.2016 в 10:01
//Имя 0 — индекс колонки
08.01.2016 в 18:52
Здравствуйте!
Подскажите, пожалуйста, мне нужно из базы данных получить список станций и поместить их в список (List).
По аналогии с вышеуказанным примером пробую сделать следующее:
Код:
string conString = "Database='base_test'; Network Address='localhost'; User Name='test'; Password='1';"
private List stations()
{
List names = new List();
string queryString = "SELECT ds.name FROM dirstation ds
JOIN directions d ON ds.id_direction=d.id_direction
WHERE d.name='" + PrigDirNameCurrent.Text + "'
ORDER BY id_st ASC";
using (MySqlConnection con = new MySqlConnection())
{
con.ConnectionString = conString;
MySqlCommand com = new MySqlCommand(queryString, con);
try
{
con.Open();
using (MySqlDataReader dr = com.ExecuteReader())
{
while (dr.Read())
{
names.Add(dr.GetString("name"));
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
return names;
}
Подскажите, пожалуйста, верен ли ход мысли и если да, то в чём может быть загвоздка в while?
ADMIN
09.01.2016 в 16:36
Привет.
Код:
using (MySqlDataReader dr = com.ExecuteReader())
{
if (dr.HasRows)
{
//проверяем, есть строки или нет
}
ДМИТРИЙ
10.01.2016 в 12:29
Спасибо, попробую! А что касается списка — идея/реализация верная?
ADMIN
12.01.2016 в 00:48
А что здесь не так в плане идеи/реализации? Получили данные, заполнили список и передали его дальше. Довольно часто такое можно встретить.
ЭЛЬВИРА
12.01.2016 в 23:53
А можно ли как-то заменить названия столбцов. Т.е. в данном примере выводить не «Name», а «Имя». Или будет выводится только то, что заданно в БД?
ADMIN
14.01.2016 в 10:01
Код:
string sqlQuery = "select Name as 'Имя' from tblName";
string colName = dr.GetName(0);
Комментарии
1