IEnumerable打印出来自mySQL连接的单个实体

时间:2016-10-15 16:21:10

标签: mysql .net asp.net-mvc

首先,我是这个东西的初学者,所以请耐心等待。

所以,我想从xCode的Webservice中获取数据。因此我建立一个web服务,可以在mySql中获取数据并以json格式呈现它们(当我完成时)。

但是,现在,我不是很远...... 我已经设置了我的数据库,它在服务器上运行。

我已经在我的web.config中创建了连接字符串,并且我在下面的代码中尝试建立连接,尝试获取并显示ID = 1的行...因此我希望它显示所有我的数据库中的实体,但这对一开始就有好处。

我认为我的连接没问题,(不知道如何测试它,除了让它从我页面上的数据库打印出来之外)

但是,我的代码中出现错误

cannot implicitly convert type string to 'system.collections.generic.ienumerable<string>'

你可能会说它的错误解决了stackoverflow上的另一个地方,但是我似乎无法理解如何解决它。

        MySql.Data.MySqlClient.MySqlConnection mySqlConnection;
        MySql.Data.MySqlClient.MySqlCommand cmd;
        String queryStr;

    public IEnumerable<String> Get()
    {

        String connString = System.Configuration.ConfigurationManager.ConnectionStrings["MySql"].ToString();
        mySqlConnection = new MySql.Data.MySqlClient.MySqlConnection(connString);

        mySqlConnection.Open();
        queryStr = "SELECT * FROM `CustomerDb` WHERE 'ID' = '1'";
        cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, mySqlConnection);
        cmd.ExecuteReader();
        mySqlConnection.Close();

        return queryStr;            
    }

非常感谢您提前。

更新

我为我的数据库实体制作了这些构造函数

    public int ID { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string City { get; set; }
    public string Category { get; set; }

1 个答案:

答案 0 :(得分:0)

问题是你试图返回一个字符串,其函数Get()的返回类型是IEnumerable。 我想你需要得到你从表中选择的内容而不是你的查询字符串,对吗?

MySql.Data.MySqlClient.MySqlConnection mySqlConnection;
    MySql.Data.MySqlClient.MySqlCommand cmd;
    String queryStr;

public IEnumerable<String> Get()
{

    String connString = System.Configuration.ConfigurationManager.ConnectionStrings["MySql"].ToString();
    mySqlConnection = new MySql.Data.MySqlClient.MySqlConnection(connString);

    mySqlConnection.Open();
    queryStr = "SELECT * FROM `CustomerDb` WHERE 'ID' = '1'";
    cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, mySqlConnection);
    SqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        yield return reader["Name"]; // Assume you want name in your result.
    }

    mySqlConnection.Close();

}