简体   繁体   English

Java选择带参数的查询字符串

[英]Java Select Query String with parameter

This is the query 这是查询

 String query = 
 "SELECT idPlayers 
 FROM pendu.players 
 WHERE first= 'Super'AND last='Man' AND pass=12345";

I want to change (first='Super') to the first = tboxFirst.getText() etc 我想将(first ='Super')更改为first = tboxFirst.getText()等

Thanks for helping me 谢谢你帮我

Frank 坦率

If you are using a string you can just create the string with the value in it like this: 如果您使用的是字符串,则可以这样创建带有值的字符串:

 String query = "SELECT idPlayers FROM pendu.players WHERE first= '" + tboxFirst.getText() + "'AND last='Man' AND pass=12345";

You should also take a look at PreparedStatement as that's a much better solution. 您还应该查看PreparedStatement因为这是一个更好的解决方案。

  PreparedStatement pstmt = con.prepareStatement(
  "SELECT idPlayers FROM pendu.players WHERE 
       first= ? AND last= ? AND pass=?");

   pstmt.setString(1, tboxFirst.getText());
   pstmt.setString(2, ....);
   ....

字符串查询=“从pendu.players中选择idPlayers,其中first =('” + tboxFirst.getText()+“')AND pass = 12345”;

You can use either 您可以使用
String query = "SELECT idPlayers FROM pendu.players WHERE first='"+tboxFirst.getText()+"'AND last='Man' AND pass=12345";

or 要么

String query = String.format(SELECT idPlayers FROM pendu.players WHERE first='%s'AND last='Man' AND pass=12345", tboxFirst.getText());

And if you are using JDBC, you can use PreparedStatement 如果使用的是JDBC,则可以使用PreparedStatement
PreparedStatement pstmt = con.prepareStatement("SELECT idPlayers FROM pendu.players WHERE first=? AND last=? AND pass=?");
pstmt.setString(1, "Super");
pstmt.setString(2, "Man");
pstmt.setString(3, "12345");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM