Загрузить базу данных в список в c # - PullRequest
0 голосов
/ 27 июня 2011

Я запрашиваю базу данных и задаюсь вопросом, есть ли способ загрузить результаты обратно в список. Единственный способ, которым я точно знаю, как получить информацию из базы данных, - это использование данных. Я всегда могу поместить его в таблицу данных, а затем перебрать строки в таблице данных и добавить их в список. Но есть ли способ напрямую получить результат запроса в список? Это мой код:

OleDbCommand command= new OleDbCommand("SELECT ID, GRADE, PHONE from database WHERE PHONE=123456", conn);
conn.Open();
dt.Load(command.ExecuteReader());
conn.Close();

Результатом должна быть запись списка формы (идентификатор, оценка, телефон):

61265,95,123456

Спасибо

Ответы [ 3 ]

2 голосов
/ 27 июня 2011

Считайте, что у вас есть класс

public ListData()
{
  public int Id{get;set;} //Assuming DB field is int
  public string Grade{get;set;}  //Assuming DB field is a string
  public string PhoneNo{get;set;} //Assuming DB field is a string
}

Тогда вы можете сделать следующее:

list<ListData> theList =(from item in dt.AsEnumerable()
                         Select new ListData()
                              {
                                 Id= (int)item["ID"],
                                 Grade = (string)item["GRADE"],
                                 PhoneNo = (string)item["PHONE"]
                              }
                        ).ToList()

Примечание:

1. Я просто вписываю его в текстовое поле комментария, чтобы при копировании и вставке кода могли возникнуть некоторые ошибки

2. Вам также необходимо обработать нулевые значения, если они есть, на GRADE / PHONE

0 голосов
/ 27 июня 2011

Вы можете использовать Table Adapter, например,

DataSet mSet = new DataSet();
OleDbTableAdapter mAdapter = new OleDbTableAdapter(myOleDbCommand); 
mAdapter.Fill(mSet); 
myOleDbCommand.Connection.Close();
0 голосов
/ 27 июня 2011

Посмотрите на этот вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...