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));

它是一个复杂的对象,可能是某种数组。尝试访问数组的索引,然后转换为字符串。