新手写个.NET小界面,遇到一个很奇怪的问题,有些值不会刷新

[复制链接]
查看11 | 回复5 | 2021-1-27 07:20:44 | 显示全部楼层 |阅读模式
各位大神,小弟遇到一个问题,百思不得其解,百度上也无从搜索,只能上来这里求助了。
先是写了一个函数,getname()从ACCESS取出没有录入分数的数据来,并且将第一条显示在TEXTBOX和LABEL中。这个没有问题,可以正常运行
后面写了一个函数,删除ACCESS的一条记录,删除完以后,再重新GETNAME(因为删除了记录,数据库表的记录发生了变化,所以重新从ACCESS取一次,显示在TEXTBOX和LABEL中)。
但是删除完以后再GETNAME(),LABEL和TEXTBOX的文本不会变。。觉得好奇怪。
比如说,当前显示的未录入成绩的学生是C,我又把B的成绩删除掉了,按照我的想法,删除完以后,下一步就是重新GETNAME(),显示的未录入成绩的学生应该更新为B才对,但是页面仍然显示的是C,一点没变。
这是什么问题呀?
publicvoidgetname()
{
lbl_name.Text="";
txb_id.Text="";
aa.xuhao=0;
aa.dtstudent.Clear();
OleDbConnectioncon=db.getcon();
con.Open();
stringstrcmd="selectst.student_id,st.student_namefromstudentstwherest.student_class='"+aa.banji+"'"+"andst.student_idnotin(selectsc.student_idfromscorescwheresc.student_class=st.student_classandsc.kemu_name='"+aa.kemu+"')orderbystudent_id";
OleDbDataAdapteroledat=newOleDbDataAdapter(strcmd,con);
oledat.Fill(aa.dtstudent);
con.Close();
if(aa.dtstudent.Rows.Count>=1)
{
txb_id.Text=aa.dtstudent.Rows[aa.xuhao][0].ToString();
lbl_name.Text=aa.dtstudent.Rows[aa.xuhao][1].ToString();
}
else
{
Response.Write("alert('没有记录!');");
}

protectedvoidBTN_delete_Click(objectsender,EventArgse)
{
if(TXB_DELETEID.Text.Trim()!=""&&aa.kemu!="")
{
stringdeletecmd="deletefromscorewherestudent_id='"+TXB_DELETEID.Text+"'andkemu_name='"+aa.kemu+"'";
OleDbConnectioncon=db.getcon();
con.Open();
OleDbCommandolecmd=newOleDbCommand(deletecmd,con);
inti=olecmd.ExecuteNonQuery();
if(i>=1)
{
Response.Write("alert('学号:"+TXB_DELETEID.Text+"科目:"+aa.kemu+"删除成功');");
}
else
{
Response.Write("alert('删除失败');");
}
getname();//刷新不了最新名单不知道是为什么
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:20:44 | 显示全部楼层
排序、显示的问题,C和B都是未录入成绩的学生,显示C没问题啊
相当学生排队,C学生站在第一位,你取第一位学生当然是C
然后你让B学生和C一起排队,B站在C后面,你还是取第一位学生那第一位是C没有错啊

回复

使用道具 举报

千问 | 2021-1-27 07:20:44 | 显示全部楼层
我是按照学号排列的,从小到大,比如1-20已结录入成绩,当前就是显示21号,当我把1号删掉以后,按说应该显示1号的,结果还是显示21号。
回复

使用道具 举报

千问 | 2021-1-27 07:20:44 | 显示全部楼层
那你把student学生表的数据截图出来,我看看student_id
回复

使用道具 举报

千问 | 2021-1-27 07:20:44 | 显示全部楼层
student_id没有问题的,我还有一个按钮使用了GETNAME()
我删除完记录以后,GETNAME()名字显示不会变。
但是我再按一下另外一个按钮,就会显示正常了。
所以觉得很奇怪。。难道是有什么缓存机制一类的,造成的?
回复

使用道具 举报

千问 | 2021-1-27 07:20:44 | 显示全部楼层
看起来好像没什么问题,方便将整个cs代码贴出来看看不或者加我QQ我帮你看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行