mysql
  • sql
  • jdbc
  • 2012-05-24 65 views -2 likes 
    -2

    我有兩行是用戶名「name」和用戶端口「port」的MySQL表。sql在某些條件下執行SELECT查詢

    我想從出口列獲得端口號,當我得到一些條件,

    例如:我想路易的端口號,如果NAMA =路易

    注:我使用JDBC

    我應該使用什麼MySQL命令?

    我試過這個命令(下圖),但還是失敗了:

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

    注:變量 「名」 是將檢查

    +1

    您是說在同一個表有兩個獨立的行一個港口和一個用戶?你怎麼知道哪個端口對應哪個用戶? – Toote

    +0

    姓名記錄與港口記錄有什麼關係?也許你可以提供樣本數據和預期的輸出 –

    回答

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

    感謝一個LOT .... :) – user1388581

    0

    試試這個

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

    我希望它能爲你工作。

    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注入。

    0

    像這樣在你的語句類型的查詢....

    "select port from user where nama='Louis'" 
    
    相關問題