我正在尝试用SQL数据库中的数据填充多维数组。因为没有像myarray.Add这样的函数,所以我发现了其他东西。但这不起作用!我正在使用C#.net
以下行给出了错误:arr [counter2] = {myDataReader [“ rating”],myDataReader [“ date”]};

public string[,] getData(int id)
    {


        string queryString = "SELECT rating, date FROM rating WHERE id = '" + id + "'";
        SqlDataReader myDataReader = Database.sqlDataReader(queryString);

        if (myDataReader.HasRows)
        {
            int counter = 0;
            while (myDataReader.Read())
            {
                counter++;
            }
            string[,] arr = new string[counter, 2];
            int counter2 = 0;
            while (myDataReader.Read())
            {
                counter2++;
                arr[counter2] = {myDataReader["rating"], myDataReader["date"]};
            }
        }

        return arr;
    }


有人可以帮我解决这个问题,或向我解释另一种(可能更好)做同一件事的方法吗?

最佳答案

这太复杂了。尝试这个:

public string[,] getData(int id)
{
    string queryString = "SELECT rating, date FROM rating WHERE id = '" + id + "'";
    List<string[]> data = new List<string[]>();

    using(SqlDataReader myDataReader = Database.sqlDataReader(queryString))
        while(myDataReader.Read())
            data.Add(new int[] { (string)myDataReader["rating"], (string)myDataReader["date"] });

    return data.ToArray();
}


另外,您实际上不应该连接您的SQL语句。

10-08 08:49