首先,我是这个东西的初学者,所以请耐心等待。
所以,我想从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; }
答案 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();
}