代码较长通过回复上传的请高手们谅解。
1:我在从数据库中选择单选题和核对单选题答案中添加了下面的语句用来保存正确答案(斜体部分)程序运行(交卷)不报错。老师您看看这样添加对不对?如果不对应该怎样保存正确答案?2: 如果正确,在核对单选题答案中怎样把DataTable dt = (DataTable)Session["que_answer"];赋值于DataRow[] row1 ?
//从数据库中选择单选题
case 1:
SqlDataAdapter myadapter1 = new SqlDataAdapter("select * "
+ "from tb_Questions where que_type='语文题'and que_lessonid='"
+ dd1 + "'and que_taotiid='" + dd2 + "'order by newid()", con);
DataSet myds1 = new DataSet();
myadapter1.Fill(myds1);
DataList1.DataSource = myds1;
DataList1.DataSource = myds1.Tables[0];
Session["que_answer"] = myds1.Tables[0];
DataList1.DataBind();
//生成单选题题号
int[] array;
array = new int[DataList1.Items.Count];
array[0] = 0;
for (int tID1 = 1; tID1 <= DataList1.Items.Count; tID1++)
{
Label lblSelect = (Label)DataList1.Items[tID1 - 1].FindControl("Label2");
lblSelect.Text = tID1.ToString() + "、";
array[i] = tID1;
}
break;
1:我在从数据库中选择单选题和核对单选题答案中添加了下面的语句用来保存正确答案(斜体部分)程序运行(交卷)不报错。老师您看看这样添加对不对?如果不对应该怎样保存正确答案?2: 如果正确,在核对单选题答案中怎样把DataTable dt = (DataTable)Session["que_answer"];赋值于DataRow[] row1 ?
//从数据库中选择单选题
case 1:
SqlDataAdapter myadapter1 = new SqlDataAdapter("select * "
+ "from tb_Questions where que_type='语文题'and que_lessonid='"
+ dd1 + "'and que_taotiid='" + dd2 + "'order by newid()", con);
DataSet myds1 = new DataSet();
myadapter1.Fill(myds1);
DataList1.DataSource = myds1;
DataList1.DataSource = myds1.Tables[0];
Session["que_answer"] = myds1.Tables[0];
DataList1.DataBind();
//生成单选题题号
int[] array;
array = new int[DataList1.Items.Count];
array[0] = 0;
for (int tID1 = 1; tID1 <= DataList1.Items.Count; tID1++)
{
Label lblSelect = (Label)DataList1.Items[tID1 - 1].FindControl("Label2");
lblSelect.Text = tID1.ToString() + "、";
array[i] = tID1;
}
break;
解决方案 »
- 网页跳转参数传递的问题.
- IE6下排版问题,IE8下没有问题
- 获取Gridview里EditItemTemplete里DropDownList值的问题.
- sql排序,没碰过的问题,在线等
- 在存储过程中SELECT有多个记录集,放到变量中,运行出来的只有最后一条
- 急切求问怎样恢复IIS的asp.net 的运行环境???????????
- 300分求解事件冒泡问题,结帖时另开新帖送分!
- DataGrid左边的空白能标上序列吗?DataGrid的表头能象Excel的表头吗(即A,B....AB,AC等等)?
- 水晶报表 显示数据库中统计出来的某几项的个数
- 春节后的第一个问题??进者都给分!!
- repeater遍历
- 有没有这样一种牛逼的框架?
case 2:
SqlDataAdapter myadapter2 = new SqlDataAdapter("select que_answer"
+ " from tb_Questions where que_type='语文题'and que_lessonid="
+ dd1 + " and que_taotiid=" + dd2 + " order by id desc", con);
DataSet myds2 = new DataSet();
DataTable dt = (DataTable)Session["que_answer"]; Myadapter2.Fill(myds2);
DataRow[] row1 = myds2.Tables[0].Select();
//计算单选题成
foreach (DataRow answer1 in row1)
{
int_row1 += 1;
if (int_row1<= 10)
{
RadioButtonList rbl = (RadioButtonList)(DataList1.Items[int_row1 - 1].FindControl("RadioButtonList1"));
if (rbl.SelectedValue == "")
{
this.lblSel.Text = int_row1Point.ToString();
}
else
{
float ti = DataList1.Items.Count;
if (answer1["que_answer"].ToString().Trim() == rbl.SelectedValue.ToString().Trim())
{
int_row1Point += 50 / ti;
this.lblSel.Text = int_row1Point.ToString();
}
}
}
}
break;
怎样解释?我是一个初学者。
DataRow[] row1=dt.AsEnumerable().ToArray();
也可心这样理解:
DataRow[] row1=(from t in dt.AsEnumerable() select t).ToArray();
等价于:
DataTable dt;
if(Session["que_answer"]==null)
{
dt=new DataTable();
}
else
{
dt=(DataTable)Session["que_answer"];
}
SqlDataAdapter myadapter1 = new SqlDataAdapter("select * "
+ "from tb_Questions where que_type='语文题'and que_lessonid='"
+ dd1 + "'and que_taotiid='" + dd2 + "'order by newid()", con);
DataSet myds1 = new DataSet();
myadapter1.Fill(myds1);
DataList1.DataSource = myds1;
DataList1.DataBind();
//生成单选题题号
for (int tID1 = 1; tID1 <= DataList1.Items.Count; tID1++)
{
Label lblSelect = (Label)DataList1.Items[tID1 - 1].FindControl("Label2");
lblSelect.Text = tID1.ToString() + "、";
DataList1.DataSource = myds1.Tables[0];
Session["id"] = myds1.Tables[0];
}
break;这样保存对吗
DataTable dt;
if (Session["id"] == null)
{
dt = new DataTable();
}
else
{
dt = (DataTable)Session["id"];
} DataRow[] row1 = dt.AsEnumerable().ToArray(); //计算单选题成
foreach (DataRow answer1 in row1)
{
int_row1 += 1;
if (int_row1<= 10)
{
RadioButtonList rbl = (RadioButtonList)(DataList1.Items[int_row1 - 1].FindControl("RadioButtonList1"));
if (rbl.SelectedValue == "")
{
this.lblSel.Text = int_row1Point.ToString();
}
else
{
float ti = DataList1.Items.Count;
if (answer1["que_answer"].ToString().Trim() == rbl.SelectedValue.ToString().Trim())
{
int_row1Point += 50 / ti;
this.lblSel.Text = int_row1Point.ToString();
}
}
}
}
break;