2015-11-05 65 views
0

我有一个SQL Server 2008数据库,我想通过使用字符串变量来选择数据...这里是在java中选择代码:如何使用变量从数据库中选择数据?

try { 

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection con = DriverManager.getConnection("jdbc:odbc:DDS_DSN"); 
    Statement st = con.createStatement(); 
    ResultSet rs; 

    rs = st.executeQuery("SELECT source_port FROM request_dns WHERE destination_port = 53"); 
    while (rs.next()) { 
     String source_port = rs.getString("source_port"); 
     System.out.println(source_port); 
    } 
    con.close(); 
} catch (Exception e) { 
    System.out.println(e); 

} 

我想让它像这样:

String x = "53"; 
try 
{ 
. 
. 
rs = st.executeQuery("SELECT source_port FROM request_dns WHERE destination_port = x"); 
. 
. 
} 

请你告诉我该怎么做?...... 谢谢

亲切的问候

回答

0

你想要一个参数化查询,像这样:

int x = 53; 
PreparedStatement ps = con.prepareStatement(
     "SELECT source_port FROM request_dns " + 
     "WHERE destination_port = ?"); 
ps.setInt(1, x); 
ResultSet rs = ps.executeQuery(); 
+0

非常感谢你......它完美.. –