qq_34316891 2016-04-15 09:55 采纳率: 100%
浏览 1432
已采纳

java中JTable的问题,求解,大神在哪里

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class a160407 extends JFrame implements ActionListener{
JButton anl1,anl2,anl3,anl4;
JLabel bq;
JTextField wbk;
JPanel mb1,mb2;
JTable bg;
JScrollPane gd;
aaaa aa;
public static void main(String[] args){
a160407 aaa=new a160407();
}
public a160407(){

    anl1=new JButton("查询");
    anl1.addActionListener(this);
    anl1.setActionCommand("chaxun");
    anl2=new JButton("添加");
    anl2.addActionListener(this);
    anl2.setActionCommand("tianjia");
    anl3=new JButton("删除");
    anl3.addActionListener(this);
    anl3.setActionCommand("shanchu");
    anl4=new JButton("修改");
    anl4.addActionListener(this);
    anl4.setActionCommand("xiugai");
    bq=new JLabel("请输入姓名");
    wbk=new JTextField(7);
    mb1=new JPanel();
    mb2=new JPanel();
    aa=new aaaa();  
    bg=new JTable(aa);
    gd=new JScrollPane(bg);

    mb1.setLayout(new FlowLayout());mb1.add(bq);mb1.add(wbk);mb1.add(anl1);

    mb2.setLayout(new FlowLayout());mb2.add(anl2);mb2.add(anl3);mb2.add(anl4);

    this.add(mb1,BorderLayout.NORTH);
    this.add(mb2,BorderLayout.SOUTH);
    this.add(gd);

    this.setResizable(false);
    this.setSize(800,600);
    this.setLocation(300,150);
    this.setTitle("QQ联系人");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);      
}
public void actionPerformed(ActionEvent e){
    if(e.getActionCommand().equals("chaxun")){
        String xingming=this.wbk.getText().trim();
        String sql="select * from QQ where xinmin='"+xingming+"'";
        aa=new aaaa(sql);
        bg.setModel(aa);
    }
    else if(e.getActionCommand().equals("tianjia")){
        tianjia tj=new tianjia(this,"信息添加",true);
        aa=new aaaa();
        bg.setModel(aa);
        System.out.println("fffffffffffffff");
    }
    else if(e.getActionCommand().equals("shanchu")){

        int ii=this.bg.getSelectedRow();
        if(ii==-1){

            JOptionPane.showMessageDialog(this,"请选中要删除的行");
            return;
        }   程序总是运行到下面的这句话出错????????????????????
            String st=(String)aa.getValueAt(ii,0);我发现getValueAt(ii,0)中的0改成1或者其他不是0的数程序就正常了,请好心的大神把我解决一下!
            PreparedStatement ps=null;
            Connection ct=null;
            ResultSet rs=null;
            try{
                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                 ct=DriverManager.getConnection("jdbc:odbc:SQL Sever","sa","923274995");    
                 ps=ct.prepareStatement("delete  from QQ where xinmin=?");
                 ps.setString(1,st);
                 ps.executeUpdate();
            }catch(Exception e2){}
            finally{
                try {
                    if(rs!=null)
                    {
                        rs.close();
                    }
                    if(ps!=null)
                    {
                        ps.close();
                    }
                    if(ct!=null)
                    {
                        ct.close();
                    }

                } catch (Exception e3){}

            }aa=new aaaa();
            bg.setModel(aa);


    }
    else if(e.getActionCommand().equals("xiugai")){
        int ii=this.bg.getSelectedRow();
        if(ii==-1){ 
            JOptionPane.showMessageDialog(this,"请选中要修改的行");
            return;
        }   
        new xiugai(this,"信息修改",true,aa,ii);

    }
}

}
要解决的问题在上面代码一排问号??????的下面

  • 写回答

3条回答 默认 最新

  • 叫我宫城大人 2016-04-18 06:08
    关注

    你这个 删除记录的sql判断条件是xinmin,然后你getValueAt就应该是获取xinmin,getValueAt中后面一个参数是columnIndex,列值,你看看姓名是哪一列;
    还有,建议你用编号做判断,你这整个代码一行注释都没有,醉了。有空学学怎么调试吧,很简单的,你设个断点出错的位置,很好排查的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 关于#目标检测#的问题:(qq收集表到时间才能填写,填写的份数有上限)
  • ¥50 ZYNQ7020双核FLAHS烧写的问题
  • ¥20 ue 5 中想要实现第一人称人物左右行走摆动的效果,摄像头只向右摆动一次(关键词-结点)
  • ¥15 钢岔管添加弹性约束模拟围岩作用
  • ¥15 AD9164瞬时带宽1.8G,怎么计算出来?
  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题