我写了几十个JTextField,然后在连接数据库时有点问题,怎么去让JTextField的内容去更新数据库呢?我现在写的是一修改一个JTextField ,然后全去更新了,而且都是这个文本框的内容,真郁闷 大家帮帮忙

解决方案 »

  1.   

    那可能是你的sql语句写错了
    where一块的条件
      

  2.   

    在JTextField增加失去焦点的侦听。好像叫什么MouseLost的侦听。在侦听出发时写你的Update语句就Ok了
      

  3.   

    那在哪调用update()的语句,应该在提交按纽的事件中吧,那要是这样的话,我的JTextField很多,怎么才能去识别是它的值改变了呢
      

  4.   

    当然是每个JTextField都加上侦听了。
    你不会还是手写这些JTextField吧。
    windowsbuilder的可视化Eclipse插件会帮助你解决这个问题
      

  5.   

    如2楼
    给文本框加监听事件然后update  而不是触发按钮
      

  6.   

    但我是点按纽“保存”才去更新数据库啊  这就不好办了,怎么对应知道哪个JTextField内容改变了
      

  7.   

    jTextField1.addFocusListener(new FocusAdapter() {
    public void focusLost(FocusEvent e) {
      name = jTextField1.getText().trim();
    }
    });   
    加这样的监听可以吗?           
      

  8.   

    update() 在哪调?不会是在JTextField的监听事件里调吧?那提交button还能起到什么作用啊?
      

  9.   

    这是不同的思路。一个是是以数据为前提的,就是之前你的每个TextField失去焦点的时候保存数据。这样做的好处是出现突发事件,比如断电,突然down机等事件的时候用户填写的数据基本上已经保存到数据库中了。坏处也是显而易见的,那就是频繁的对数据库的操作(update)。另外一种做法就是不侦听TextField。只侦听提交按钮事件。只有提交按钮点下的时候才更新数据库。好出是减少对数据库的操作。坏处就是突发事件的时候用户填写的那些数据还需要再从新填写一遍。
      

  10.   

    哦 呵呵 明白了 谢谢您啊 您知道在button事件中 怎么调update比较简单点,因为我的jTextField特别多,怎么去对应数据库的字段啊?
      

  11.   

    也没有什么特别好的方法。就只能是吧TextField的名字起成和数据库中字段一样。
    然后调用Bean中的Setter方法把TextField的值设置进去。最后保存到数据库。