GetSubjectInfo(String id,out DataSet ds){
……
}
//在程序中,假设学生所答的当前题目ID已知,为currentID;
GetSubjectInfo(currentID,out ds);
DataRow row=(DataRow)ds.Tables["Subject"].Rows[0];
if(Student.Answer==Row.Answer)
//正确

解决方案 »

  1.   

    是不是读的时候把整个表读出来?(我是这样读的:select * from My_Table)
    然后自己控制显示?
    我不知道怎样获得读出来的题目的id值
      

  2.   

    GetSubjectInfo(String id,out DataSet ds){}
    //这个函数就是根据id得到数据库中的一条记录!!然后填充到ds中!
      

  3.   

    String GetSubjectInfo(String id,out DataSet ds){ string cmdSelect="SELECT * FROM CUST WHERE (CUST_ID = ?)";
    OleDbDataAdapter cmdGetCustDetail=new OleDbDataAdapter(cmdSelect,dbCnc);
    cmdGetCustDetail.SelectCommand.Parameters.Add(new OleDbParameter("CUST_ID",System.Data.OleDb.OleDbType.VarChar, 20));
    cmdGetCustDetail.SelectCommand.Parameters["CUST_ID"].Value = id;
    try
    {
    com.dbCnc.Open();
    cmdGetCustDetail.Fill(ds.CUST);
    }
    catch (Exception e)
    {
    return e.Message;
    }
    finally
    {
    com.dbCnc.Close();
    }
    return "OK";
    }
      

  4.   

    还是没明白阿,能不能用比较简单的方法获取每一道题目对应的id呢?
    因为在我的表中id字段是关键字。
    我想根据id再到数据库中找到相应的答案。
      

  5.   

    foreach(DataListItem dlItem in DataList1.Items)
    {
    String strID=DataList1.DataKeys[(int)dlItem.ItemIndex];//这个就是当前记录的主健值
    GetSubjectInfo(currentID,out ds);
    DataRow row=(DataRow)ds.Tables["Subject"].Rows[0];
    //然后用findControl得到CheckBoxList选定的Answer,然后和数据库中比较
    if(Answer==row.Answer)
    ……
    }