Java 如何从用户输入向表中插入值
我已经在PostgreSQL中创建了一个数据库,并成功地在它们之间创建了一个连接,还从Java源代码创建了表 我的问题是如何将来自用户输入的值插入到这些表中。Java 如何从用户输入向表中插入值,java,sql,postgresql,jdbc,Java,Sql,Postgresql,Jdbc,我已经在PostgreSQL中创建了一个数据库,并成功地在它们之间创建了一个连接,还从Java源代码创建了表 我的问题是如何将来自用户输入的值插入到这些表中。 我已经在谷歌搜索了足够多的内容,但还没有找到能够真正解释我需要做什么的东西。在你处理用户输入的方法中,你可以执行插入或更新查询。下面是一个修改后的示例: 这假设您有一个包含三列的表“user\u into\u table” try(PreparedStatement pstmt=con.prepareStatement(“插入员工值(?
我已经在谷歌搜索了足够多的内容,但还没有找到能够真正解释我需要做什么的东西。在你处理用户输入的方法中,你可以执行插入或更新查询。下面是一个修改后的示例: 这假设您有一个包含三列的表“user\u into\u table”
try(PreparedStatement pstmt=con.prepareStatement(“插入员工值(?)”){
pstmt.setBigDecimal(1,inputFromUser)您能提供更多信息,例如您正在使用的库和一些代码片段吗?我使用standar JDK库以及postgresql-9.3-1102.jdbc3.jar文件来建立连接。为了向新手展示如何以正确的方式做事,您确实应该使用PreparedStatement
and一个参数化查询。(没有否决票…这次…只是一句责骂。)
Statement st = conn.createStatement();
String query_st = "INSERT INTO user_info_table VALUES ('"+user_id+"', '"+age+"', "+height+");";
ResultSet rs = st.executeQuery(query_st);
while (rs.next())
{
System.out.print("Column 1 returned ");
System.out.println(rs.getString(1));
} rs.close();
st.close();
try (PreparedStatement pstmt = con.prepareStatement("INSERT INTO employees VALUES (?,?)")) {
pstmt.setBigDecimal(1, inputFromUser) <---- injection safe
pstmt.setInt(2, inputFromUser) <---- injection safe
...
} // Auto close.