在這段代碼中,我使用sql查詢和JDBC從兩個表中獲取數據。現在你可以看到查詢的結果在rs裏面了。 我現在想要的是我想檢查每個記錄(從它來自哪個表,並根據它寫一些html並打印所有記錄)。 任何人都可以告訴我如何檢查其中的每個記錄?如何使用jdbc和sql查詢編寫條件?
例如:
如果第一個記錄是從博客表來的話,我想打印的博客的標題,並給予一定的鏈接。
如果記錄是來自問題表,那麼我想打印問題和問題的所有答案。
希望你明白了嗎?
代碼:
Statement stmt=null;
DBconnection db=new DBconnection();
Connection con=db.dbConn();
try{
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select description , user ,title , date from(select blog_description as description ,users as user,blog_title as title ,created_date as date from blog union select ask_question as description ,users as user ,ask_question as title , created_on as date from askquestions) as aa order by date desc");
while(rs.next())
{
System.out.println("this is data regarding sql query==="+rs.getString(2));
retstr+="<table><tr>";
retstr+="<td style='width:725px; font-size:14px; font-family:Palatino Linotype; color:#1147a9'>"+rs.getString(2)+" : shared a new Note.</td>";
retstr+="</tr></table><br/> ";
retstr+="<li style=' font-size:12px;'> Title : "+rs.getString(3)+"<span style='font-size:10px; color:#ccc; '> "+rs.getString(4)+"</span></li> <br/> ";
retstr+="<table><tr>";
retstr+="<td style='width:30px;'></td><td style='width:725px; color:#1147a9; border-bottom : 2px dotted #ccc; margin-bottom: 10px; font-size:11px; font-family:Palatino Linotype; margin-bottom:20px;'>Description : "+rs.getString(1)+"<a style='font-size:12px; font family:Palatino Linotype; color:#007fc0; margin-bottom:20px;' href='blogs.jsp'> Read More..</a></td>";
retstr+="</tr></table>";
}
你是什麼意思「如何檢查每個記錄」嗎?您已經遍歷結果集中的行 - 只需使用rs.getXXX方法獲取值並在比較中使用這些值即可。 –
@Aleks例如: \t \t \t \t如果第一個記錄是從博客表來的話,我想打印的博客的標題,並給予一定的鏈接。 \t \t \t \t如果記錄來自問題表,那麼我想打印問題和問題的所有答案。 \t \t \t \t希望你明白了嗎? – User2413
對我來說,就像你不想解僱一個查詢一樣,但是因爲你想保留結果而不是將它們扔在一大堆上,所以兩個單獨的查詢是不同的。你可以選擇一個額外的列,'源'或其他東西,在其中你堅持一個值來標識記錄來自哪裏。選擇'博客'AS來源。 – Gimby