0

所以这是我的问题。

这个功能:

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

其他行看起来完全相同,只有这一行不起作用。

就是我的数据库的外观。

编辑

替换该行中的 2 是可以的

例子:

  string str = Convert.ToString(mysqlquery.Reader("SELECT * FROM items WHERE id=@id", "@id", i, 1));
4

1 回答 1

0

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

于 2018-11-07T15:04:21.953 回答