2016-12-03 3 views
-1

私はId、Name、Adressなどの連絡先リストを持っています。これらの連絡先をすべて返すようにクエリを実行したいと思います。リストから値を返すクエリ

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(); 
     } 

私の質問が完全に正しいかどうかわかりません。助けてください?

+0

で使用する必要があります。この問合せは、IDが 'ma.Id'で始まるすべての行のすべての列を戻す必要があります。 – maniak1982

+0

このコードはコンパイルされません。 MyAgendaを返すと宣言しますが、代わりにDataSetを返します。あなたの質問が正しいかどうかを知ることができる方法です。 IDとは何ですか?表の欄は何ですか? – Steve

+0

IDが文字列の場合は、IDが数字の場合は正しいかもしれません。likeの代わりに=を使用し、wildchar(%)を使用しないでください。 – scaisEdge

答えて

1

DataSetList<MyAgenda>として返信しようとしていますが、これは不可能です。 あなたはreturn ds.Tables[0].AsEnumerable().Select(...).ToList(); 回答は、私はあなたのテーブル構造については何も知らないので、私はこのクエリから返されるかわからないここ

Convert DataSet to List

関連する問題