这个SQL命令有什么问题?

时间:2015-07-09 07:27:27

标签: java sql postgresql

我遇到SQL命令问题。

我有一个包含SQL命令的字符串,但是当我运行时,它返回一个错误:列n1不存在注意:n1是我在textField中键入的内容。

代码:

String nameprod tf_NameProd.getText = ();
         String sql = "select * from Product where prod_name =" + nameprod;//<-- this is my query
         iaeprod.Table(sql, tbl_Prod);

知道我失踪的地方吗?

4 个答案:

答案 0 :(得分:2)

String sql = "select * from Product where prod_name = '" + nameprod + "'";

答案 1 :(得分:2)

您需要在SQL中的字符串周围放置单引号。例如,在你的情况下它应该是

"select * from Product where prod_name = '" + nameprod + "'";

答案 2 :(得分:2)

因为prod_nameString使用值

附近的单引号
 String sql = "select * from Product where prod_name ='" + nameprod+"'";

最好使用预备语句

答案 3 :(得分:1)

请改用此方法:

Connection dbConnection = getDBConnection();

PreparedStatement stmt = null;

String nameProd = "select * from Product where prod_name =  ?";

stmt = connection.prepareStatement(nameProd);
stmt.setString(1, tf_NameProd.getText() );

ResultSet rs = stmt.executeQuery();

P.S。:我还没有编译这段代码。请在适当的地方放置try和catch语句