本帖最后由 ci2011ss 于 2012-05-16 11:03:59 编辑

解决方案 »

  1.   

    insert into table_name(c_1, c_2, c_3) values(v_1, v_2, v_3);   先看下你的数据库表到底有几个字段,如果超过两个,记得写上你的字段,如果只有两个,可以忽略...还有,你的代码有很多问题..我也懒得看了,发现个严重的,两个String是否相等,是这样判断的, s1.equals(s2)  
      

  2.   


    楼主的数据库表字段肯定不是2个、最起码3个 id  、name 、pass而楼主的sql 语句肯定有问题 就是1楼说的、表字段和values值要对应、至于你id自增不自增就不知道了、
    感觉楼主那try的有问题呢、把你代码拷了我这全是错误、给改了改顺序、和String 比对问题、贴出来
    package com.boyu.util;import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;public class Addvalue {
    private String driver = "com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://127.0.0.1:3306/luke";
    private String user = "root";
    private String pass = "671792";
    // private String sql ="insert into jdbc_test values(?,?)";
    private JFrame jf = new JFrame("添加数据窗口");
    private JLabel us = new JLabel("请输入用户名");
    private JTextField use = new JTextField(15);
    private JLabel ps = new JLabel("请输入密码");
    private JPasswordField pas = new JPasswordField(15);
    private JLabel pps = new JLabel("确认密码");
    private JPasswordField pas2 = new JPasswordField(15);
    private JButton inse = new JButton("确定添加数据");
    private JButton reset = new JButton("重置信息"); /**
     * 创建添加窗口
     */
    public void init() throws Exception {
    Class.forName(driver);
    jf.setLayout(new GridLayout(4, 2, 1, 1));
    jf.add(us);
    jf.add(use);
    jf.add(ps);
    jf.add(pas);
    jf.add(pps);
    jf.add(pas2);
    jf.add(reset);
    jf.add(inse);
    jf.setBounds(500, 400, 260, 152);
    // jf.setSize(260, 152);
    jf.setVisible(true);
    inse.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    if (use.getText().length() == 0) {
    JOptionPane.showMessageDialog(jf, "请检查输入");
    } else if (use.getText().length() != 0
    && pas.getPassword() != null) {
    insert("use", "pas");
    JOptionPane.showMessageDialog(jf, "添加数据成功"); use.setText("");
    pas.setText("");
    pas2.setText("");
    }
    }
    });
    reset.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent a) {
    use.setText("");
    pas.setText("");
    pas2.setText("");
    }
    });
    } public void insert(String uuu, String ppp) {
    if (pas.getPassword().equals(pas2.getPassword())) {
    char[] s = null;
    s = pas.getPassword();
    uuu = use.getText();
    ppp = new String(s);
    String sq = "insert into zhuce values(?,?)";
    // String sq ="insert into jdbc_test values(uuu,ppp)";
    try {
    Connection conn = DriverManager.getConnection(url, user, pass);
    PreparedStatement pstmt = conn.prepareStatement(sq); // 获取密码域的内容
    pstmt.setString(1, uuu);
    pstmt.setString(2, ppp);
    // pstmt.executeQuery(sq);
    pstmt.executeUpdate(sq);
    } catch (SQLException ex) {
    System.out.println("插入数据发生异常:" + ex.getMessage());
    return ;
    }
    }
    } public static void main(String[] args) throws Exception {
    (new Addvalue()).init();
    }
    }
      

  3.   


    重新缕了次
    package com.boyu.util;import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;public class Addvalue {
    private String driver = "com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://127.0.0.1:3306/luke";
    private String user = "root";
    private String pass = "671792";
    // private String sql ="insert into jdbc_test values(?,?)";
    private JFrame jf = new JFrame("添加数据窗口");
    private JLabel us = new JLabel("请输入用户名");
    private JTextField use = new JTextField(15);
    private JLabel ps = new JLabel("请输入密码");
    private JPasswordField pas = new JPasswordField(15);
    private JLabel pps = new JLabel("确认密码");
    private JPasswordField pas2 = new JPasswordField(15);
    private JButton inse = new JButton("确定添加数据");
    private JButton reset = new JButton("重置信息"); /**
     * 创建添加窗口
     */
    public void init() throws Exception {
    Class.forName(driver);
    jf.setLayout(new GridLayout(4, 2, 1, 1));
    jf.add(us);
    jf.add(use);
    jf.add(ps);
    jf.add(pas);
    jf.add(pps);
    jf.add(pas2);
    jf.add(reset);
    jf.add(inse);
    jf.setBounds(500, 400, 260, 152);
    // jf.setSize(260, 152);
    jf.setVisible(true);
    inse.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    if (use.getText().length() == 0) {
    JOptionPane.showMessageDialog(jf, "请检查输入");
    } else if (use.getText().length() != 0
    && pas.getPassword() != null) {
    insert(use.getText(), pas.getPassword().toString());
    JOptionPane.showMessageDialog(jf, "添加数据成功"); use.setText("");
    pas.setText("");
    pas2.setText("");
    }
    }
    });
    reset.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent a) {
    use.setText("");
    pas.setText("");
    pas2.setText("");
    }
    });
    } public void insert(String uuu, String ppp) {

    char[] s = null;
    s = pas.getPassword();
    uuu = use.getText();
    ppp = new String(s);
    String sq = "insert into zhuce values(?,?)";
    // String sq ="insert into jdbc_test values(uuu,ppp)";
    try {
    Connection conn = DriverManager.getConnection(url, user, pass);
    PreparedStatement pstmt = conn.prepareStatement(sq); // 获取密码域的内容
    pstmt.setString(1, uuu);
    pstmt.setString(2, ppp);
    // pstmt.executeQuery(sq);
    pstmt.executeUpdate(sq);
    } catch (SQLException ex) {
    System.out.println("插入数据发生异常:" + ex.getMessage());
    System.exit(0) ;
    }

    } public static void main(String[] args) throws Exception {
    (new Addvalue()).init();
    }
    }
      

  4.   


    try (//你这是括号
    Connection conn = DriverManager.getConnection(url, user, pass);
    PreparedStatement pstmt = conn.prepareStatement(sq)) {//你的花括号在这里 汗 eclipse能编译通过?
    // 获取密码域的内容
    pstmt.setString(1, uuu);
    pstmt.setString(2, ppp);
    // pstmt.executeQuery(sq);
    pstmt.executeUpdate(sq) ;
    if (pas.getPassword() == pas2.getPassword() ) {//还有字符串比较是pas!=null && pas.getPassword().equals(pas2.getPassword())问题很多啊  
    insert("uuu", "ppp");
    // JOptionPane.showMessageDialog(jf, "添加数据成功");
    return;
    }
    } catch (SQLException ex) {
    System.out.println("插入数据发生异常:" + ex.getMessage());
    }你给出的You have an error in your SQL syntax; check the manual that corresponds 这个是sql syntax问题,检查你的sql,把这个sql放到数据库那边去跑一下看能不能跑通。
      

  5.   

    insert(use.getText(), pas.getPassword().toString());
    修改成
    insert(use.getText(), pas.getText());没咋用过swing、
      

  6.   

    还有就是俩个密码框里的内容比对得这样if (pas.getText().equals(pas2.getText())) 还是去吃饭吧我、
      

  7.   

    /
    数据库的字段确实只有两个 yhm  跟mim   
    多谢了各位  ……
    不看不知道一看下一跳 阿  9_9
      

  8.   


    个人见解、起码每个表都应该有个id字段吧、 要么怎么证明这些数据的唯一性、?建表语句也分数据库的、自增的语句也不一样、 mysql 是 auto increment
    oracle 是创建序列  sequence具体点的方式还是baidu或者google吧、
      

  9.   

    请问加上ID  字段后添加数据的代码应该怎样该  怎样调用插入函数
    数据库是使用MYSQL 创建的  字段就三个  U_id   ,uus, pps
    调用时还是出错
    最后一次 之后结贴。。