Java 如何添加扫描仪,以便插入值,然后将这些值保存到mysql

Java 如何添加扫描仪,以便插入值,然后将这些值保存到mysql,java,mysql,jdbc,sql-insert,Java,Mysql,Jdbc,Sql Insert,基本上,我需要添加另一个扫描仪输入,在登录到后,我可以将id和名称等添加到我的数据库中,这样我就不必在程序中使用设置的输入。当我只是更改设置的插入值时,数据库就会更新,因此连接很好。我只是不知道如果没有代码,用户将如何插入值,然后在输入后更新数据库。 import java.sql.*; import java.util.Scanner; public class JDBCInsertValues{ static final String DRIVER = "com.mysql.

基本上,我需要添加另一个扫描仪输入,在登录到后,我可以将id和名称等添加到我的数据库中,这样我就不必在程序中使用设置的输入。当我只是更改设置的插入值时,数据库就会更新,因此连接很好。我只是不知道如果没有代码,用户将如何插入值,然后在输入后更新数据库。

import java.sql.*;
import java.util.Scanner;
public class JDBCInsertValues{
        static final String DRIVER = "com.mysql.jdbc.Driver"; // JDBC driver
        static final String DATABASE = "test"; // the database name
        static final String HOST = "10.1.63.200"; // the database host IP
        // the full URL:
        static final String DATABASE_URL = 
                "jdbc:mysql://" + HOST + "/" + DATABASE;
    public static void main(String[] args) {
        System.out.println("Inserting values into MySQL database table...");
        Connection con = null;
        try{
            Class.forName(DRIVER);
            Scanner keyboard = new Scanner(System.in);
            System.out.print("Login: ");
            String login = keyboard.next();
            System.out.print("Password: ");
            String password = keyboard.next();         
            con = DriverManager.getConnection(DATABASE_URL,login,password);
            try{
                Statement st = con.createStatement();
                String sql = "INSERT INTO Authors VALUES(67,\"Mark\",\"Cooper\")";
                System.out.println(sql);
                int val = st.executeUpdate(sql);          
                System.out.println(val + " rows inserted.");
            }
            catch (SQLException s){
                System.out.println("SQL statement is not executed!");
                s.printStackTrace();
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }


    }
} 

尝试使用当前语句和扫描程序输入的组合来连接
字符串sql
。您还可以使用a并将
67、\“Mark\”、\“Cooper\”
替换为
、\“?\”、\“?\”
,使用PreparedStatement的
setInt()
setString()
方法来设置值,尽管这种方法更适合在列表中进行迭代。

您已经在使用
扫描仪键盘获取输入了,因此,使用它获取您需要的三个字段(即id、firstName、lastName),然后创建一个SQL字符串,作为您已经拥有的内容和从用户处获得的字符串的组合。例如:
String sql=“插入作者值(“+id+”、\”+firstName+“\”、\”+lastName+“\”)它运行时没有语法错误,但当尝试并使用get errors时,您需要更加具体;什么错误?Java运行时错误?SQL异常?
System.out.println(sql)
输出是什么样子的?试着编辑你的原始文章,包括你的更新代码,这样我们就可以看到什么是错误的。