请C#大神帮我解释下这段代码的意思,最好是详细点儿,谢谢啦

这是自动考试系统上开始考试按钮的代码privatevoidbtnStart_Click(objectsender,EventArgse){stringStrSql="";... 这是 自动考试系统 上  开始考试  按钮的代码
private void btnStart_Click(object sender, EventArgs e)
{
string StrSql="";
if (this.btnStart.Text == "开始考试")
{
this.label3.Text = DateTime.Now.ToShortTimeString();
StrSql = "Update tbl_XuanKe set stats='T' where classid='" + this.cmbClass.Text.Substring(0, 3) + "' and kcid='" + this.cmbKeMu.Text.Substring(0, 2) + "'";
this.timer1.Enabled = true;
this.btnStart.Text = "停止考试";
this.cmbClass.Enabled = cmbKeMu.Enabled = false;
}
else
{
StrSql = "Update tbl_XuanKe set stats='F' where classid='" + this.cmbClass.Text.Substring(0, 3) + "' and kcid='" + this.cmbKeMu.Text.Substring(0, 2) + "'";
this.timer1.Enabled = false;
this.btnStart.Text = "开始考试";
this.cmbClass.Enabled = cmbKeMu.Enabled = true;
}

if (MyClass.ExecuteDate(StrSql) < 0)
{
MessageBox.Show("考试开始出错!");
return;
}

listView1.Items.Clear();
DataSet myset1 = new DataSet();
myset1 = MyClass.QueryDate("select nostudent,name from studentname where banji='" + cmbClass.Text.Substring(0, 3) + "'");
for (int i = 0; i < myset1.Tables[0].Rows.Count; i++)
{
ListViewItem aa = new ListViewItem();
aa.ImageIndex = 0;
aa.Text = myset1.Tables[0].Rows[i][0].ToString() +"_"+ myset1.Tables[0].Rows[i][1].ToString();
this.listView1.Items.Add(aa);
}

}
展开
 我来答
ghzx071458
推荐于2016-08-27 · TA获得超过1416个赞
知道小有建树答主
回答量:651
采纳率:50%
帮助的人:390万
展开全部
   private void btnStart_Click(object sender, EventArgs e)
        {
            string StrSql="";//这个不说了嘛
            if (this.btnStart.Text == "开始考试")//如果按钮是"开始考试"
            {
                this.label3.Text = DateTime.Now.ToShortTimeString();//label3显示系统时间
                StrSql = "Update tbl_XuanKe set stats='T' where classid='" + this.cmbClass.Text.Substring(0, 3) + "' and kcid='" + this.cmbKeMu.Text.Substring(0, 2) + "'";
                //给StrSQl赋一个查询语句值
this.timer1.Enabled = true;//定时器开始
                this.btnStart.Text = "停止考试";//按钮显示"停止考试"
                this.cmbClass.Enabled = cmbKeMu.Enabled = false;//按钮无效
            }
            else//不是"开始考试"
            {
                //这里是更新数据库
StrSql = "Update tbl_XuanKe set stats='F' where classid='" + this.cmbClass.Text.Substring(0, 3) + "' and kcid='" + this.cmbKeMu.Text.Substring(0, 2) + "'";
                this.timer1.Enabled = false;//定时器停止
                this.btnStart.Text = "开始考试";
                this.cmbClass.Enabled = cmbKeMu.Enabled = true;//控件有效
            }

            if (MyClass.ExecuteDate(StrSql) < 0)//这里应该是你程序中自动义类里面的一个方法吧?
            {
                MessageBox.Show("考试开始出错!");
                return;//返回,后面的程序不执行。
            }

            listView1.Items.Clear();//listView中数据清空
            DataSet myset1 = new DataSet();//实例化DataTable。
//这里是查询数据库语句,这里就开始链接数据库了,访问数据库的studentname工作表
            myset1 = MyClass.QueryDate("select nostudent,name from studentname where banji='" + cmbClass.Text.Substring(0, 3) + "'");
            for (int i = 0; i < myset1.Tables[0].Rows.Count; i++)//获取studentname表格中的行数,该表格目前放在maset1的第一张表格里面
            {
                 ListViewItem aa = new ListViewItem();
                 aa.ImageIndex = 0;
 //获取表格中的每行内容,目测你的 studentname只有2列。
                 aa.Text = myset1.Tables[0].Rows[i][0].ToString() +"_"+ myset1.Tables[0].Rows[i][1].ToString();
                 this.listView1.Items.Add(aa);//把每行的内容添加到listView1控件里面以供显示。
 //弱弱问一个,为何要用ListView呢,而不用datagridview。
             }

        }
    //数据太多(上万条数据)的话,你的这个代码,软件估计会卡死或者假死,出现无响应的现象。
追问
我不知道呢,谢谢你,虽然我还是不懂
追答
用datagridview,绑定数据源。
你下面的代码:
for (int i = 0; i < myset1.Tables[0].Rows.Count; i++)//获取studentname表格中的行数,该表格目前放在maset1的第一张表格里面
            {
                 ListViewItem aa = new ListViewItem();
                 aa.ImageIndex = 0;
                 //获取表格中的每行内容,目测你的 studentname只有2列。
                 aa.Text = myset1.Tables[0].Rows[i][0].ToString() +"_"+ myset1.Tables[0].Rows[i][1].ToString();
                 this.listView1.Items.Add(aa);//把每行的内容添加到listView1控件里面以供显示。
                 //弱弱问一个,为何要用ListView呢,而不用datagridview。
             }
就可以换成:
datagridview.DataSource=myset1.Tables[0];
一句代码就搞定。你用个for循环,一条一条往ListView中添加,速度太慢。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式