Java 如何添加扫描仪,以便插入值,然后将这些值保存到mysql
基本上,我需要添加另一个扫描仪输入,在登录到后,我可以将id和名称等添加到我的数据库中,这样我就不必在程序中使用设置的输入。当我只是更改设置的插入值时,数据库就会更新,因此连接很好。我只是不知道如果没有代码,用户将如何插入值,然后在输入后更新数据库。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.
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)
输出是什么样子的?试着编辑你的原始文章,包括你的更新代码,这样我们就可以看到什么是错误的。