如何从用户输入向表中插入值

时间:2014-12-04 16:41:52

标签: java sql postgresql jdbc

我在PostgreSQL中创建了一个数据库并成功创建了它们之间的连接,并且还使用Java源代码创建了表。

我的问题是如何将值插入来自用户输入的这些表。 我已经搜索了足够的谷歌,但没有找到能够真正解释我需要做什么的东西。

2 个答案:

答案 0 :(得分:0)

https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

   try (PreparedStatement pstmt = con.prepareStatement("INSERT INTO employees VALUES (?,?)")) {

     pstmt.setBigDecimal(1, inputFromUser) <---- injection safe
     pstmt.setInt(2, inputFromUser) <---- injection safe
     ...
   } // Auto close.

最重要的是使用预备语句的问号而不是字符串concat,concat允许用户将sql注入到你的查询中。

答案 1 :(得分:-1)

在处理用户输入的方法中,您可以执行INSERT或UPDATE查询。以下是docs

中的修改示例
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(); 

这假设您有一张表&user; into_table&#39;这有三列。