我尝试使用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
,我就无法理解为什么它不起作用......
答案 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
会更好