我也不是很熟,代码防到eclipse里没法直接看
你把最后的sql语句输出放到数据库查询器去执行一下,估计问题应该在qry里

解决方案 »

  1.   

    String qry2="INSERT publishers(姓名,年龄,地址,密码) VALUES('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";
    改为
    String qry2="INSERT INTO publishers(姓名,年龄,地址,密码) VALUES('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";
      

  2.   

    //这个是查询语句
    String qry1="Select 姓名='"+t1+"'年龄'"+t2+"'地址='"+t3+"'密码='"+t4+"'from publishers";
    改为
    String qry1="Select * from publishers where 姓名='"+t1+"'年龄'"+t2+"'地址='"+t3+"'密码='"+t4+"'";
      

  3.   

    对不起,不小心写错了,上一句应改为
    String qry1="Select * from publishers where 姓名='"+t1+"' and 年龄='"+t2+"' and 地址='"+t3+"' and 密码='"+t4+"'";
      

  4.   

    String qry2="INSERT publishers(姓名,年龄,地址,密码) VALUES('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";
    queryDB(qry2);在queryDB()应该是执行stmt.executeUpdate()啊。
    你执行的是executeQuery()方法。
      

  5.   

    不可能,stmt.executeQuery()方法怎么可能会执行Insert into ........成功泥?
      

  6.   

    stmt.executeUpdate()和executeQuery()应该是无所谓的
    主要的还是看sql语句是Insert 还是 Select
    如果SQL语句肯定没有问题,就只能一步一步调试了
      

  7.   

    一般executeQuery适用于select
    而executeUpdate适用于update,insert,delete等你那个程序本身应该没什么问题
      

  8.   

    //查询语句     ?是查询语句的宿主变量
    String qry1="Select 姓名 地址 密码  from publishers where 姓名=? 地址=? 密码=?";
    //建立PreparedStatement 
    PreparedStatement qry1QueryStat=connection.prepareStatement(qry1);qry1QueryStat.setString(1,t1);qry1QueryStat.setString(2,t2);
    qry1QueryStat.setString(3,t3)//1,2,3是的几个宿主变量ResultSet rs=qry1QueryStat.executeQuery();//得到结果
      

  9.   

    这个是我改的 产生了异常
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;import java.sql.*;public class AddRowFrame extends JFrame {
      Connection con;
      String url = "jdbc:odbc:Xu";
      ResultSet rs;
      private JPanel contentPane;
      private TextField textField1 = new TextField();
      private TextField textField2 = new TextField();
      private TextField textField3 = new TextField();
      private TextField textField4 = new TextField();
      private Label label1 = new Label();
      private Label label2 = new Label();
      private Label label3 = new Label();
      private Label label4 = new Label();
      private Button button1 = new Button();
      private Button button2 = new Button();
    FlowLayout lay=new FlowLayout();
      //Construct the frame
      public AddRowFrame() {    DBConnect(url);
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }  }
      //Component initialization
      private void jbInit() throws Exception  {
        //setIconImage(Toolkit.getDefaultToolkit().createImage(AddRowFrame.class.getResource("[Your Icon]")));
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(lay);
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame Title");
        label1.setText("姓名");
        label2.setText("年龄");
        label3.setText("地址");
        label4.setText("密码");
        button1.setLabel("添     加");
        button1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            button1_actionPerformed(e);
          }
        });
        button2.setLabel("取    消");
        button2.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            button2_actionPerformed(e);
          }
        });
        textField1.setText("          ");
        textField2.setText("         ");
        textField3.setText("          ");
        textField4.setText("          ");
        contentPane.add(textField3,new FlowLayout());
        contentPane.add(textField2 );
        contentPane.add(textField1 );
        contentPane.add(textField4 );
        contentPane.add(label1   );
        contentPane.add(label2);
        contentPane.add(label3);
        contentPane.add(label4);
        contentPane.add(button1);
        contentPane.add(button2);
        
      }
      //Overridden so we can exit when window is closed
      protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
          System.exit(0);
        }
      }  void button2_actionPerformed(ActionEvent e) {
        super.setVisible(false);
      }
      void DBConnect(String url){
        try {
          String driver ="sun.jdbc.odbc.JdbcOdbcDriver";
          Class.forName(driver);
          System.out.println("driver:"+driver);
          con =DriverManager.getConnection (url, "", "");
          System.out.println("CONNECTED TO   ---> "+ url);
                    }catch (SQLException e) {
                          e.printStackTrace();
                } catch (ClassNotFoundException e) {
                          e.printStackTrace();
                }
          }      void DBClose(){
                    try{
                    con.close();
                    }catch(SQLException e)
                {
                    }
            }
            ResultSet queryDB(String qry){
                    try{
                      ResultSet rs=null;
                     Statement stmt= con.createStatement ();
                     //rs= stmt.executeUpdate(qry);
                     rs= stmt.executeQuery(qry);
                   //System.out.println("EXECUTED QUERY ---> " + qry);
            }catch(SQLException e2){
                     }
                     return rs;
    }        int queryDB2(String qry){
              int count=0;
              try{
                  Statement stmt= con.createStatement ();
                  count= stmt.executeUpdate(qry);
                   //System.out.println("EXECUTED QUERY ---> " + qry);
            }catch(SQLException e2){
                     }
                     return count;
           }  void button1_actionPerformed(ActionEvent e) {
        /*String t1=textField1.getText().trim();
        String t2=textField2.getText().trim();
        String t3=textField3.getText().trim();
        String t4=textField4.getText().trim();*/
        String t1=textField1.getText().trim();
        String t2=textField2.getText().trim();
        String t3=textField3.getText().trim();
        String t4=textField4.getText().trim();    if(t1.equals("")||t2.equals("")||t3.equals("")||t4.equals(""))
        {
         System.out.println("错误");
          //ti.setVisible(true);
        }
        else
        {
          try
          {
            //String qry1="Select 姓名='"+t1+"'年龄'"+t2+"'地址='"+t3+"'密码='"+t4+"'from publishers";
            ResultSet qry1=queryDB("Select * from publishers where 姓名='"+t1+"' and 年龄='"+t2+"' and 地址='"+t3+"' and 密码='"+t4+"'");
            //queryDB(qry1);
            if(qry1.next())
            {
              textField1.setText("in");
              //TiSh ti=new TiSh();
            }
            else
            {
              String qry2="INSERT INTO publishers(姓名,年龄,地址,密码) VALUES('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";
              queryDB2(qry2);
            }
          }
          catch(SQLException e1)
          {      }
          //"SELECT * FROM Publishers where 姓名='"+name+
     // "' and 密码='"+passwd+ "'");
        }
      }
      public static void main(String[] args)
      {
       AddRowFrame frame=new AddRowFrame();
       frame.setSize(600,600);
       frame.setVisible(true);
      }
    }
      

  10.   

    异常如下 Exception occurred during event dispatching:
    java.lang.NullPointerException
            at AddRowFrame.button1_actionPerformed(AddRowFrame.java:156)
            at AddRowFrame$1.actionPerformed(AddRowFrame.java:52)
            at java.awt.Button.processActionEvent(Button.java:329)
            at java.awt.Button.processEvent(Button.java:302)
            at java.awt.Component.dispatchEventImpl(Component.java:2595)
            at java.awt.Component.dispatchEvent(Component.java:2499)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
            at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
    3)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)这是怎么回事
      

  11.   

    异常是没有了 但是 下面语句的目的 是为了 查找是否在表中有相同纪录 如果有应该谈出提示信息 可我输入相同的纪录并没有 看到信息 而且 根本没有执行到 if语句
    就是这个
    if(qry1.next())
            {
              System.out.println("记录重复请重新输入");          //TiSh ti=new TiSh();
            }//查询语句     ?是查询语句的宿主变量
    String qry1="Select 姓名 地址 密码  from publishers where 姓名=? 地址=? 密码=?";
    //建立PreparedStatement 
    PreparedStatement qry1QueryStat=connection.prepareStatement(qry1);qry1QueryStat.setString(1,t1);qry1QueryStat.setString(2,t2);
    qry1QueryStat.setString(3,t3)//1,2,3是的几个宿主变量ResultSet rs=qry1QueryStat.executeQuery();//得到结果
      

  12.   

    如果文本框内 输入的内容与表内的不重复 就执行下面语句 但也不行啊
    else
            {
              String qry2="INSERT INTO publishers(姓名,年龄,地址,密码) VALUES('"+t1+"','"+t2+"','"+t3+"','"+t4+"')";
              queryDB2(qry2);
            }
          }
      

  13.   

    你说得不行是指什么?
    有exception?还是没exception但得不到你想要的?
    如果是后者,多半是sql的问题
    建议你将所有要执行的sql先println出来,在数据库里执行一变,看行不行。
      

  14.   

    请问一下,你用的是什么数据库
    如果是SQL server,应该就已经解决问题了,但如果是Oracle,可能出现这些问题!
      

  15.   

    你个煞笔,申请了几个号!
    就他妈知道倒分!有个屁用!bruce1981(过客) 
    Bruce_1981(许真)
    xuzhen1980(为中国软件振兴而努力)都是那个煞笔"许真",别不承认!
    看下面的贴子,就知道他有没有倒分!
    http://expert.csdn.net/Expert/topic/1483/1483350.xml?temp=1.162291E-05