查询以从列表返回值

时间:2016-12-03 15:43:04

标签: c# sql

我有一个ID,姓名,地址等联系人列表,我想查询以返回所有这些联系人。

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,我不确定我的查询是否完全正确。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您正试图将DataSet作为List<MyAgenda>返回,这是不可能的。 你必须使用return ds.Tables[0].AsEnumerable().Select(...).ToList(); 答案在这里

Convert DataSet to List