コード例 #1
0
    protected void BindWorngPageInfo()
    {
        DataTable DataBase = new DataTable();

        DataBase.Columns.Add("KnowledgePointName");
        DataBase.Columns.Add("WorngCount");
        DataBase.Columns.Add("KnowledgePointID");
        string SelectCmd = "Select  KnowledgePoint.KnowledgePointID,KnowledgePoint.KnowledgePointName from TSRelationship inner join TestInfo on TestInfo.TestID=TSRelationship.TestID inner join HTRelationship on HTRelationship.TSRelationshipID=TSRelationship.RelationshipID inner join Options on Options.OptionID=HTRelationship.SelectedOptionID inner join TKRelationship on TKRelationship.TopicID=HTRelationship.TopicID inner join KnowledgePoint on KnowledgePoint.KnowledgePointID=TKRelationship.KnowledgePointID where TSRelationship.Contactid=" + ViewState["Contactid"].ToString() + " and Options.IsTrue=0 and TestInfo.TestStartTime between '" + this.MinTime.Value + "' and '" + this.MaxTime.Value + "' order by KnowledgePoint.KnowledgePointID";

        using (MySqlConnection Sc = new MySqlConnection(Diya.ConectionString))
        {
            Sc.Open();
            MySqlCommand     Scmd = new MySqlCommand(SelectCmd, Sc);
            DataTable        Dbuf = new DataTable();
            MySqlDataAdapter da   = new MySqlDataAdapter();
            da.SelectCommand = Scmd;
            da.Fill(Dbuf);
            for (int i = 0; i < Dbuf.Rows.Count - 1; i++)
            {
                if (Dbuf.Rows[i]["KnowledgePointID"].ToString() != Dbuf.Rows[i + 1]["KnowledgePointID"].ToString())
                {
                    DataRow dr = DataBase.NewRow();
                    dr["KnowledgePointName"] = Dbuf.Rows[i]["KnowledgePointName"].ToString();
                    dr["KnowledgePointID"]   = Dbuf.Rows[i]["KnowledgePointID"].ToString();
                    DataBase.Rows.Add(dr);
                }
                else if (i + 1 == Dbuf.Rows.Count - 1)
                {
                    if (Dbuf.Rows[i + 1]["KnowledgePointID"].ToString() != DataBase.Rows[DataBase.Rows.Count - 1]["KnowledgePointID"].ToString())
                    {
                        DataRow dr = DataBase.NewRow();
                        dr["KnowledgePointName"] = Dbuf.Rows[i + 1]["KnowledgePointName"].ToString();
                        dr["KnowledgePointID"]   = Dbuf.Rows[i + 1]["KnowledgePointID"].ToString();
                        DataBase.Rows.Add(dr);
                    }
                }
            }
            foreach (DataRow Dr in DataBase.Rows)
            {
                SelectCmd = "Select Count(*) as a from TSRelationship inner join TestInfo on TestInfo.TestID=TSRelationship.TestID inner join HTRelationship on HTRelationship.TSRelationshipID=TSRelationship.RelationshipID inner join Options on Options.OptionID=HTRelationship.SelectedOptionID inner join TKRelationship on TKRelationship.TopicID=HTRelationship.TopicID where TKRelationship.KnowledgePointID=" + Dr["KnowledgePointID"] + " and Options.IsTrue=0 and TestInfo.TestStartTime between '" + this.MinTime.Value + "' and '" + this.MaxTime.Value + "' and TSRelationship.Contactid=" + ViewState["Contactid"].ToString();
                Diya diya = new Diya();
                using (MySqlDataReader read = diya.RowReader(SelectCmd))
                {
                    read.Read();
                    Dr["WorngCount"] = read["a"].ToString();
                }
            }
            this.Worng_Q_T.DataSource       = DataBase;
            ViewState["WrongKnowLedgeData"] = DataBase;
            this.Worng_Q_T.DataBind();
        }
    }