mysql-下面的Java代码有问题吗

问题描述

下面的Java代码有问题吗

public class Regist extends JFrame implements ActionListener {

/**
 *
 */
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField text_confirm;
private JTextField text_usr;
private JTextField text_pwd;
private JButton btn_save,btn_cancel;
private JLabel user,passwd,confirm;
private Connection conn;
private Statement statement;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Regist frame = new Regist();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Regist() {
    super("注册新用户");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setVisible(true);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    user = new JLabel("用  户  名");
    user.setBounds(57, 36, 54, 15);
    contentPane.add(user);

    passwd = new JLabel("密       码");
    passwd.setBounds(57, 76, 54, 15);
    contentPane.add(passwd);

    confirm = new JLabel("确认密码");
    confirm.setBounds(57, 121, 54, 15);
    contentPane.add(confirm);

    text_usr = new JTextField();
    text_usr.setBounds(141, 33, 155, 21);
    contentPane.add(text_usr);
    text_usr.setColumns(10);

    text_pwd = new JTextField();
    text_pwd.setBounds(141, 73, 155, 21);
    contentPane.add(text_pwd);
    text_pwd.setColumns(10);

    text_confirm = new JTextField();
    text_confirm.setBounds(141, 118, 155, 21);
    contentPane.add(text_confirm);
    text_confirm.setColumns(10);

    btn_save = new JButton("确定");
    btn_save.setBounds(79, 171, 93, 23);
    contentPane.add(btn_save);
    this.btn_save.addActionListener(this);

    btn_cancel = new JButton("取消");
    btn_cancel.setBounds(256, 171, 93, 23);
    contentPane.add(btn_cancel);
    this.btn_cancel.addActionListener(this);

}
public Connection getConnection() throws SQLException {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sign","root","514519");
    return conn;
}
@Override
public void actionPerformed(ActionEvent e) {
    if(e.getSource()==btn_save){
        if(text_usr.getText().isEmpty()&&text_pwd.getText().isEmpty())
            JOptionPane.showMessageDialog(this, "请填写用户名和密码");
        String sql="insert into signs values ('"+text_usr.getText()+","+text_pwd.getText()+"')";
        try {
               conn=getConnection();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        try {
            statement=conn.createStatement();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        try {
            statement.executeUpdate(sql);
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        try {
            statement.close();
        } catch (SQLException e2) {
            e2.printStackTrace();
        }
        try {
            conn.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    if(e.getSource()==btn_cancel){

    }
}

}
运行的时候说Column count doesn't match value count at row 1
我数据库中的user 和password都是varchar类型
还有就是这行代码中的引号问题 String sql="insert into signs values ('"+text_usr.getText()+","+text_pwd.getText()+"')"; 新手有点迷糊 求帮助

解决方案

你可以打印下你的sql,就能发现你输出的sql语句的引号是不全的,例如我都输入a后,打印的sql:insert into signs values ('a,a')
代码问题,大意导致的引号不全,修正如下:

String sql = "insert into signs values ('" + text_usr.getText() + "','" + text_pwd.getText() + "')";

再试试,就能打印出正确的sql了。

解决方案二:

String sql="insert into signs values ('"+text_usr.getText()+","+text_pwd.getText()+"')";你仔细看一下,你没有存对数据类型,需要的数据长这样:values('something','otherthing'),但是你没有都用单引号括起来。就这样。

时间: 2024-08-02 19:12:19

mysql-下面的Java代码有问题吗的相关文章

下面的Pascal代码能帮我翻译为c++吗??

问题描述 下面的Pascal代码能帮我翻译为c++吗?? const wq:array[1..4,1..2] of longint=((-1,0),(0,1),(1,0),(0,-1)); var i,j,ans,tot:longint; map:array[0..10,0..10]of longint; s:array[0..999999]of boolean; procedure prin(x,y,dep:longint); var i,x1,y1:longint; begin if dep

为什么有eclipse还要在dos下运行java代码?

问题描述 为什么有eclipse还要在dos下运行java代码? 为什么在dos下运行java代码,不是有eclipse吗,这里写和运行不是更方便吗? 解决方案 不管是用dos还是eclipse都是调用了安装的JDK,刚开始让你用dos只是一个过渡,让你理解和知道他的原理是这样编译的,以后开发和学习都不用在dos里编译了,eclipse会自动帮你编译好,直接运行即可. 解决方案二: java笔记一:有关java HelloWorld dos环境下运行出错DOS环境下运行java类的方法 解决方案

烦请大神将下面的js代码改写为php代码(加密用)

问题描述 烦请大神将下面的js代码改写为php代码(加密用) function md5(A) { return hex_md5(A) } function md5js(pass, code, uin) { var I = hexchar2bin(md5(pass)); var H = md5(I + uin); var G = md5(H + code.toUpperCase()); return G } var hexcase = 1; var b64pad = ""; var ch

下面的java程序运行时为什么没有结果

问题描述 下面的java程序运行时为什么没有结果 package sql; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class liaotian extends JFrame implements ActionListener{ JPanel jpanel1; TextArea textArea1; TextField textField3; JButton jBut

html-请问下面的jquery代码为何不起作用

问题描述 请问下面的jquery代码为何不起作用 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <script type="text/javascript" src="jquery.js"></script> 4 <script type="text/javascript"> 5 $(document

javascript-麻烦大家帮我看看下面的js代码有什么问题?

问题描述 麻烦大家帮我看看下面的js代码有什么问题? var datas=[]; var datam=[]; for(var i=0;i<dataset.provinces.length;i++) { var name= dataset.provinces[i].name; var value= dataset.provinces[i].value; datas[name]=value; //例如 datas[北京]=14149 alert(datas.length); datam.push(v

android-如何修改下面的java程序,我希望当点击登陆按钮时候,能够跳转到聊天界面。我已经链接了数据库了

问题描述 如何修改下面的java程序,我希望当点击登陆按钮时候,能够跳转到聊天界面.我已经链接了数据库了 我的要求如下,在文本框输入账号和密码,连接数据库验证码账号和密码是否一致,如果一致就当点击登陆按钮时候就跳转到聊天界面.麻烦你帮我修改一下程序, package sql; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class liaotian extends JFr

javascript-帮我看看下面的ajax代码有什么问题?

问题描述 帮我看看下面的ajax代码有什么问题? $(document).ready(function(){ $.ajax({ type:"post", url:"friendAction!searchUI.action", data:"<%=request.getParameter("userId") %>", async:false, success:function(msg){ alert(msg); } }

为什么下面的java程序无法得到正确的页面?

问题描述 我这里有一个代码,可是不知道为什么运行不出来,老会报出错误:J1不是public对象或没有公共构造函数另外我不是很明白下面的HTML文件时另外创建一个呢,还是直接附在java文件下,如果是直接附在下面的话要不要加什么东西上去呢?(因为我直接加上去,运行报错:说要有class什么的,才可以引入HTML)importjava.awt.Graphics;importjava.applet.Applet;classJ1extendsApplet{publicvoidpaint(Graphics