【发布时间】:2010-12-09 13:48:04
【问题描述】:
我需要在一个 while 循环中添加一个多维数组中的值。但我不知道怎么做。
public Array getDailyAvgRatingByCompanyId(int companyId, int periodStart = 0, int periodEnd = 0)
{
int[,] arr = { { }, { } };
string queryString = "SELECT num_ratings_day, rating_gem, daymonthyear FROM company_rating_daily_avg WHERE company_id = " + companyId + " ORDER BY daymonthyear ASC";
SqlDataReader myDataReader = Database.sqlDataReader(queryString);
if (myDataReader.HasRows)
{
while (myDataReader.Read())
{
//Something like arr[0].Push(myDataReader['num_ratings_day']
}
}
return arr;
}
【问题讨论】:
-
您可能需要考虑使用参数化 SQL 而不是现有的 SQL,以避免 SQL 注入攻击。
-
只是一个想法 - 为了简化这一点,您可以返回一个 List
或 ArrayList,其中 DailyAvgRating 是一个包含 CompanyId 的类/结构/模型,以及您的 SQL 列(例如 Num_Rating_Day、Rating_Gem、DayMonthYear ) 结果。 -
@Graham Clark:我明白你的意思,总的来说参数化查询更安全,但由于 Boyd 只输入数字,这里没有 SQL 注入向量。
-
你的数组的索引代表什么,boyd?是
arr[row, col]吗? -
@Matt 它必须填充要由图形类处理的数据。所以它必须包含 x 和 y 的值。像 { {x1, x2, x3}, {y1, y2, y3} }