我正在尝试使用 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 语句。
关于c# - 正确填充多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030504/