2016-12-03 3 views
-1

У меня есть список контактов с идентификатором, именем, адресом и т. Д., И я хочу сделать запрос, чтобы вернуть все эти контакты.Запрос для возврата значений из списка

public List<MyAgenda> mostrarContatos() 
    { 
     MyAgenda ma = new MyAgenda(); 
     DataSet ds = new DataSet(); 
     OleDbConnection conn = new OleDbConnection(); 

     try 
     { 



      conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["myconn"].ConnectionString); 

      //2ª Passo: Definir query 
      string query = "select * from Table where Id like '" + ma.Id + "%'"; 

      //3ª Passo: Preprarar para Executar 
      OleDbDataAdapter da = new OleDbDataAdapter(query, conn); 

      //4º Passo: Executa a query 
      da.Fill(ds, "Dados"); 

      //Devolvo DataSet 
      return ds; 
     } 
     catch (Exception err) 
     { 
      throw new Exception("ERRO: " + err.Message); 
     } 
     finally 
     { 
      conn.Close(); 
     } 

Кажется, я не могу вернуть Ds и им не уверен, что мой запрос полностью верен. Любая помощь, пожалуйста?

+0

Я ничего о вашей структуре таблицы не знаю, так что я не знаю, что будет возвращен из этого запроса. Этот запрос должен возвращать все столбцы для всех строк, где идентификатор начинается с 'ma.Id'. – maniak1982

+0

Этот код не компилируется. Вы объявляете вернуть MyAgenda, но вместо этого вы возвращаете DataSet. Часть из этого, как мы могли бы знать, правильно ли ваш запрос или нет. Что такое идентификатор? Каковы столбцы таблицы? Пожалуйста, напишите [mcve], если вы хотите, чтобы вам помогли – Steve

+0

Если Id - это строка, вы можете задать правильный запрос, если Id - номер .. вы должны использовать = вместо того, чтобы нравится и не использовать wildchar (%) – scaisEdge

ответ

1

Вы пытаетесь вернуть DataSetList<MyAgenda> который невозможно. Вы должны использовать return ds.Tables[0].AsEnumerable().Select(...).ToList(); Ответ здесь

Convert DataSet to List

Смежные вопросы