| 10 | 1/1 | 返回列表 |
| 查看: 1672 | 回復(fù): 9 | ||
[求助]
大家好,我現(xiàn)在遇到了一個問題,請大家?guī)蛶兔Γ? 已有1人參與
|
|
package Water; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; //import java.util.Scanner; public class QueryDesc { public static List<UserVo> showUser() throws ClassNotFoundException { Connection conn = null; Statement stmt = null; ResultSet rs = null; List<UserVo> list = new ArrayList<UserVo>();//聲明一個List集合,用于存放查詢出的數(shù)據(jù) try { // String Str=" SELECT '%s' FROM MONTHAVERAGE "; // String.format(Str,M); // 格式化字符串 conn = JDBC_Connection.getConnection();// 連接數(shù)據(jù)庫 stmt = conn.createStatement();// 建立Statement對象; rs = stmt.executeQuery("SELECT 一 FROM MONTHAVERAGE " ); while(rs.next())// 結(jié)果集存在,則進行循環(huán)遍歷 { UserVo userVo = new UserVo(); userVo.setDD(rs.getInt("一" );list.add(userVo); } }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ JDBC_Connection.free(rs, conn, stmt);// 關(guān)閉連接 } return list; } 大家好,我想知道怎樣將 rs = stmt.executeQuery("SELECT 一 FROM MONTHAVERAGE " );這一句中所選的那個列名“一”變成變量,在以上的程序中我要加入一段什么樣的代碼來實現(xiàn)呢?謝謝大家! |
木蟲 (正式寫手)

至尊木蟲 (著名寫手)
驃騎將軍

|
您好,麻煩您了,我把程序按您的提示改了之后如下: public class QueryDesc { public static List<UserVo> showUser(String M) throws ClassNotFoundException { Connection conn = null; Statement stmt = null; ResultSet rs = null; List<UserVo> list = new ArrayList<UserVo>();//聲明一個List集合,用于存放查詢出的數(shù)據(jù) try { // String Str=" SELECT '%s' FROM MONTHAVERAGE "; // String.format(Str,M); // 格式化字符串 conn = JDBC_Connection.getConnection();// 連接數(shù)據(jù)庫 stmt = conn.createStatement();// 建立Statement對象; String name="M"; String sql_str = "SELECT "+name+" FROM MONTHAVERAGE"; rs = stmt.executeQuery(sql_str); //rs = stmt.executeQuery("SELECT 一 FROM MONTHAVERAGE " ;while(rs.next())// 結(jié)果集存在,則進行循環(huán)遍歷 { UserVo userVo = new UserVo(); userVo.setDD(rs.getInt("一" );list.add(userVo); } }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ JDBC_Connection.free(rs, conn, stmt);// 關(guān)閉連接 } return list; } public static void main(String[] args) throws ClassNotFoundException { System.out.print("請輸入要計算的月份:" ;Scanner scanner=new Scanner(System.in); String str=scanner.next(); List<UserVo> list=QueryDesc.showUser(str);//調(diào)用查詢方法 //如果list集合不為空,則循環(huán)遍歷打印出所有的信息 if(list!=null){ System.out.print("十二" ;System.out.println(); for (int j = 0; j < list.size(); j++) { System.out.print(list.get(j).getDD()+"\t" ;System.out.println(); } } } } 其中public static List<UserVo> showUser(String M)這一句加了一個String M; 然后就是String name="M"; String sql_str = "SELECT "+name+" FROM MONTHAVERAGE"; rs = stmt.executeQuery(sql_str);按您說的修改了, 最后加了一段:public static void main(String[] args) throws ClassNotFoundException { System.out.print("請輸入要計算的月份:" ;Scanner scanner=new Scanner(System.in); String str=scanner.next(); List<UserVo> list=QueryDesc.showUser(str);//調(diào)用查詢方法 //如果list集合不為空,則循環(huán)遍歷打印出所有的信息 if(list!=null){ System.out.print("十二" ;System.out.println(); for (int j = 0; j < list.size(); j++) { System.out.print(list.get(j).getDD()+"\t" ;System.out.println(); } } } } 這個,可是結(jié)果顯示 : ORA-00904: "M": 標(biāo)識符無效 請問是我修改的哪里有問題嗎?謝謝您! |
木蟲 (正式寫手)
|
暈死,怎麼字符串的拼接都還那麼生疏啊,把基礎(chǔ)知識再過一遍吧 showUser(String M) 方法參數(shù) M 就是個變量了 方法內(nèi)部可以直接用 String sql_str = "SELECT "+M+" FROM MONTHAVERAGE"; 你再定義個 String name = "M"; ----------------------------------------------------------------------------------------------------------------------------------------------------- String name="M"; String sql_str = "SELECT "+name+" FROM MONTHAVERAGE"; 你這麼寫 最後不就的字符串不就成了 "SELECT M FROM MONTHAVERAGE"; 你表裡沒有 M 列 肯定報錯啊 可以用 System.out.println(sql_str); 查看字符串拼接的結(jié)果 |

木蟲 (正式寫手)
|
public class QueryDesc { public static List<UserVo> showUser(String M) throws ClassNotFoundException { Connection conn = null; Statement stmt = null; ResultSet rs = null; List<UserVo> list = new ArrayList<UserVo>(); try { conn = JDBC_Connection.getConnection(); stmt = conn.createStatement(); //String name="M"; ????@??? String sql_str = "SELECT "+M+" FROM MONTHAVERAGE";//?????? name ??? M System.out.println(sql_str);//???????????????????Z????????_ rs = stmt.executeQuery(sql_str); while(rs.next()) { UserVo userVo = new UserVo(); userVo.setDD(rs.getInt(M));//????? M list.add(userVo); } }catch (SQLException e) { e.printStackTrace(); }finally{ JDBC_Connection.free(rs, conn, stmt); } return list; } public static void main(String[] args) throws ClassNotFoundException { System.out.print("enter month :" ;Scanner scanner=new Scanner(System.in); String str=scanner.next(); List<UserVo> list=QueryDesc.showUser(str); if(list!=null){ System.out.print("???" ;System.out.println(); for (int j = 0; j < list.size(); j++) { System.out.println(list.get(j).getDD()+"\t" ;} } } } ??????????????????????@???????? |

| 10 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿華中科技大學(xué),080502,354分求調(diào)劑 +4 | 守候夕陽CF 2026-03-18 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 311求調(diào)劑 +4 | 冬十三 2026-03-18 | 4/200 |
|
|
[考研] 材料專碩英一數(shù)二306 +4 | z1z2z3879 2026-03-18 | 4/200 |
|
|
[考研] 266求調(diào)劑 +5 | 陽陽哇塞 2026-03-14 | 9/450 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +5 | 梨花珞晚風(fēng) 2026-03-17 | 5/250 |
|
|
[考研] 0817 化學(xué)工程 299分求調(diào)劑 有科研經(jīng)歷 有二區(qū)文章 +7 | rare12345 2026-03-18 | 7/350 |
|
|
[考研] 0703化學(xué)調(diào)劑 ,六級已過,有科研經(jīng)歷 +10 | 曦熙兮 2026-03-15 | 10/500 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 考研求調(diào)劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|
|
[考研] 材料專碩326求調(diào)劑 +6 | 墨煜姒莘 2026-03-15 | 7/350 |
|
|
[考研] [導(dǎo)師推薦]西南科技大學(xué)國防/材料導(dǎo)師推薦 +3 | 尖角小荷 2026-03-16 | 6/300 |
|
|
[考研] 一志愿211 0703方向310分求調(diào)劑 +3 | 努力奮斗112 2026-03-15 | 3/150 |
|
|
[考研] 283求調(diào)劑 +10 | 小樓。 2026-03-12 | 14/700 |
|
|
[考研] 277材料科學(xué)與工程080500求調(diào)劑 +3 | 自由煎餅果子 2026-03-16 | 3/150 |
|
|
[考研] 070305求調(diào)劑 +3 | mlpqaz03 2026-03-14 | 4/200 |
|
|
[考研] 297求調(diào)劑 +4 | 學(xué)海漂泊 2026-03-13 | 4/200 |
|
|
[考研] 266求調(diào)劑 +4 | 學(xué)員97LZgn 2026-03-13 | 4/200 |
|
|
[考研] 290求調(diào)劑 +7 | ADT 2026-03-12 | 7/350 |
|
|
[論文投稿]
投稿問題
5+4
|
星光燦爛xt 2026-03-12 | 6/300 |
|
|
[考研] 283求調(diào)劑,材料、化工皆可 +8 | 蘇打水7777 2026-03-11 | 10/500 |
|