是这样的,就是用了一个textbox1绑定到了学生表里的“分数”属性,对某一个学生输入完了之后按确定就会进入到下一个学生(学生“姓名”也是用了一个textbox2绑定好了),然后想修改上一个学生的分数,按“返回”键,可是原来的textbox1上面却还是空的,为什么呢?我之前已经用了一个SQL语句写入了呀。
Mycom.CommandText = "update 学生毕业论文 set 分数=\"" + textBox5.Text + "\" where 学号=\"" + textBox2.Text + "\"";
                    int val = Mycom.ExecuteNonQuery();
                    if (val > 0)
                        MessageBox.Show("分数已经登记");
而且也确定了val是大于0的,证明这条写入的语句有被执行,那为什么还是空的呢?高手帮帮忙解决一下

解决方案 »

  1.   

    你用一下try...catch看看是什么样的异常..
    再者你可以把这句哪到SQL里直接执行一下..看有没有报错..我看你好象用的表名都是汉字.不知道写进去的数据是不是汉字..要是汉字一般字段类型为nvarchar
      

  2.   

    注意:textbox2.text 中有空格没有。如果有,很可能和数据库中的实际学号不一样,导致更新不成功。
    注意:分数格式,
    用try{}catch{}跟踪一下错误,实在不行,把SQl语句复制到查询分析器执行看一下有什么问题,最后有可能你返回没绑定的原因
      

  3.   

    SQL语句的问题,,可能是,,看看数据库中 字段的类型,然后调试一下 将SQL语句在数据库中执行一下看看是否争取。。
      

  4.   

    你先跟踪一下,如果sql执行没有问题的话,在执行完sql后,看一下数据里面的值是否已经改变。
      

  5.   

    数据表要设置主键。
    按“返回”键时应该执行查询上一条记录的SQL语句,然后把相应记录字段值在文本框中显示出来。
    建议使用SqlDataReader对象,它可以把数据表中的记录逐行读取。
      

  6.   

    学号错了吧??你把拼好的sql放到数据库里直接执行一遍看看。有可能你学号里有字符,而数据库里保存的字符类型不一样导致的。你可以试试  N'学号' 或者 学号 like