作者leo1234 (Leo)
看板java
標題[問題] JSP連結資料庫 stmt.executeUpdate出問題
時間Wed Jun 5 18:43:33 2013
各位前輩好~
有個問題想請教各位~
我是用JSP 定義JDBC驅動 去連接SQL資料庫
我Rule.jsp(下面附CODE)要做的事情:
首先我先建立查詢rs資料表~去讀取資料表裡的欄位資料~
然後將讀取出來的欄位資料寫入File(.txt檔)裡面~
下面再將File裡的資料叫出來藉由我的演算法產生出一條字串
最後將這個字串 INSERT到資料庫裡
之前已經成功做出來可以跑了~
可是在我這幾天測試的時候
我在一開始讀取資料表的地方
改成讀取另外一個資料表(欄位名稱相同)
這邊開始出問題
下面附CODE~希望高手幫我看一下~感謝~
==============Rule.jsp=========================
String user = "root";
String pass = "xxxx";
String database = "defense";
String url = "jdbc:mysql://localhost:3306/defense";
//建立一個聯結物件
Connection conn = null;
//建立Statement物件,建立陳述式物件
Statement stmt = null;
ResultSet rs =null;
PreparedStatement prestmt = null;
try{
//定義驅動程式與資料來源之間的連結
Class.forName("com.mysql.jdbc.Driver").newInstance();
//建立一個聯結物件
conn = DriverManager.getConnection(url,user,pass);
//建立Statement物件
stmt = conn.createStatement();
}catch(SQLException sqle){
out.println("SQL Exception : " + sqle);
}
//建立查詢並產生rs的資料表
//String sql = "select * from access_log"; //原本的
String sql = "select * from vulnerable_list";
//我只改了這行 去查詢vulnerable_list資料表,下面line 331就出現問題
rs = stmt.executeQuery(sql);
FileWriter fw=new FileWriter("c:\\testingpattern.txt");
BufferedWriter bw=new BufferedWriter(fw); //開啟file寫入進去
//開始顯示
while(rs.next()){
String name = rs.getString("injected_string");
String num = rs.getString("parameter");
//欄位名稱和原本的access_log資料表一樣,雖然還有其他欄位~
但我是要擷取這兩個欄位而已
bw.write(name);
bw.newLine();
bw.write(num);
bw.newLine();
out.print("字串" + name + "參數" + num + "<br>");
}
bw.close();
fw.close();
//關閉資料表
//rs.close();
======這邊省略了藉由演算法產生了一個字串 存在
newrule 裡=====
System.out.println("rule\t"+newrule);
String newruletest = "INSERT INTO rule(newrule) VALUES('"+newrule+"')";
//我要將它(newrule)存到rule資料表裡的newrule欄位
======> Line331---- stmt.executeUpdate(newruletest);<========
//剛剛說的改成讀取別的資料表這行就出現ERROR
//這行註解掉後上面就印的出來(out.print("字串" + name + "參數" + num + "<br>");)
//可是就無法執行我下面要做的 新增rule資料表了(INSERT INTO rule(newrule))
Statement stmt2 = conn.createStatement();
//rs = stmt2.executeQuery(sql);
//stmt2.executeUpdate(newruletest);
fout.close();
out.println("新規則:"+newrule);
%>
</body>
</html>
希望高手幫幫我QQ
THX!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.200.133
推 phstudy:不要在JSP裡面寫scriptlet 06/05 19:12
推 qrtt1: 不要在JSP裡面寫scriptlet 06/05 20:29