数据库答案C#上的InvalidCastException

时间:2017-08-08 09:48:11

标签: c# mysql database exception

我尝试使用C#从MySQL数据库中获取数据,但是当我使用方法Array.prototype.map.call时,我获得了InvalidCastException。 这是我的代码:

Int32.Parse()

但如果我将MySqlConnection conn = new MySqlConnection("SERVER=localhost;database=my_db;uid=root;password="); MySqlCommand cmd = new MySqlCommand(); try { conn.Open(); String query = "SELECT * FROM sale;"; MySqlCommand qrycmd = new MySqlCommand(query, conn); MySqlDataReader reader = qrycmd.ExecuteReader(); while (reader.Read()) { String nome = (String) reader["nome"]; int id = Int32.Parse((String) reader["id"]); } } catch (MySqlException e) { } finally { if (conn!=null) conn.Close(); } reader["id"])投放到Object,我就无法理解为什么它不起作用......

1 个答案:

答案 0 :(得分:1)

如果您只需要两个值,请不要使用*。 A.so不要演员但是改为使用ToString()

 string query = "SELECT mome,ID FROM sale;";
    MySqlCommand qrycmd = new MySqlCommand(query, conn);
    MySqlDataReader reader = qrycmd.ExecuteReader();
    while (reader.Read())
    {
        string nome = reader["nome"].ToString();
        int id = Int32.Parse(reader["id"].ToString());
    }

最后,使用TryParse

会更好