请教,C#代码出错,但不知道为什么?

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:12:12
try
{
string sql = string.Format("select QuestionId from question where SubjectId = {0}", id);
SqlCommand com = new SqlCommand(sql, DBHelper.con);
DBHelper.con.Open();
SqlDataReader dr = com.ExecuteReader();
int i = 0;
while (dr.Read())
{
QuizHelper.allQuestionIds = Convert.ToInt32(dr[i]);
i++;
}
dr.Close();

注:QuizHelper.allQuestionIds是int类型的数组.

在while循环里面的QuizHelper.allQuestionIds = Convert.ToInt32(dr[i]); 这句话
报错是"无法将int类型转换为int[]"

int i = 0;
while (dr.Read())
{
QuizHelper.allQuestionIds[i] = Convert.ToInt32(dr[i]);
i++;
}

foreach( int a in dr[i])
{
a = dr[i];
}

看下这样可以么

好像是MySchool 项目蛮,呵呵
循环里面估计有问题吧,你试试看这样呢:
QuizHelper.allQuestionIds[i] = Convert.ToInt32(dr["QuestionId "]);
i++;

你自己都说了,QuizHelper.allQuestionIds是一个int类型的数组
Convert.ToInt32(dr[i])这儿只是一个int类型的变量,
数组=变量
你看看对不对..

QuizHelper.allQuestionIds = new int[]{ Convert.ToInt32(dr[i]) };