具有特定条件的sql SELECT查询

时间:2012-05-24 04:34:34

标签: mysql sql jdbc

我的MySQL表有2行,用户名为“name”,用户端口为“port”。

我希望在得到某些条件时从端口行获取端口号,

示例:我想获得Louis的端口号,如果nama = Louis

注意:我使用JDBC

我应该使用什么MySQL命令?

我已尝试过此命令(如下)但仍然失败:

 ResultSet rslset = statement.executeQuery("select cast(case when 
 nama='"+name+"') port from user");

注意:变量“name”是要检查的名称

4 个答案:

答案 0 :(得分:2)

尝试使用 PreparedStatement

/** other codes here **/
String sql = "SELECT port FROM user WHERE nama = ?";
/** con is you active Connection **/
PreparedStatement prest = con.prepareStatement(sql);
prest.setString(1, name); /** this is where you assign the parameter **/
ResultSet rs1 = prest.executeQuery();
/** other codes here **/

这将避免你从sql注入。

答案 1 :(得分:0)

 ResultSet rslset = statement.executeQuery("select port from user where nama='"+name+"'");

答案 2 :(得分:0)

试试这个

select port from user where name='(nameyouwant)';

我希望它对你有用。

答案 3 :(得分:0)

在你的陈述中输入这样的查询......

"select port from user where nama='Louis'"