c# Input string was in incorrect format 读取数据时出错
c# Input string was in incorrect format error when data reading
所以这是我的问题。
这个函数:
public int Reader(string query, string value, int id, int reader)
{
CloseConnection();
int i = 0;
con.Open();
MySqlCommand cmd;
cmd = new MySqlCommand(query, con);
cmd.Parameters.AddWithValue(value, id);
cmd.ExecuteNonQuery();
MySqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
i = sdr.GetInt16(reader);
con.Close();
}
return i;
}
应该是数据读取 mysql 命令并且它有效,除了这一行:
string str = Convert.ToString(mysqlquery.Reader("SELECT * FROM items WHERE id=@id", "@id", i, 2));
其他几行看起来完全一样,只有这一行不行。
This 是我的数据库的样子。
编辑
替换行末尾的 2 即可
示例:
string str = Convert.ToString(mysqlquery.Reader("SELECT * FROM items WHERE id=@id", "@id", i, 1));
它是一个复杂的对象,可能是某种数组。尝试访问数组的索引,然后转换为字符串。
所以这是我的问题。
这个函数:
public int Reader(string query, string value, int id, int reader)
{
CloseConnection();
int i = 0;
con.Open();
MySqlCommand cmd;
cmd = new MySqlCommand(query, con);
cmd.Parameters.AddWithValue(value, id);
cmd.ExecuteNonQuery();
MySqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
i = sdr.GetInt16(reader);
con.Close();
}
return i;
}
应该是数据读取 mysql 命令并且它有效,除了这一行:
string str = Convert.ToString(mysqlquery.Reader("SELECT * FROM items WHERE id=@id", "@id", i, 2));
其他几行看起来完全一样,只有这一行不行。
This 是我的数据库的样子。
编辑
替换行末尾的 2 即可
示例:
string str = Convert.ToString(mysqlquery.Reader("SELECT * FROM items WHERE id=@id", "@id", i, 1));
它是一个复杂的对象,可能是某种数组。尝试访问数组的索引,然后转换为字符串。