[英]How can I get recently typed string from textarea
我必須打開一個窗口,其中包含將從數據庫中獲取的關鍵字信息。 如果我在 textarea 中輸入關鍵字,它只會打開一個窗口。 而且我無法打開下一個關鍵字的窗口。
這是我的編碼。
String str = textArea.getText();
//Connection con = new DBConnection().connect();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String stm="select url from pingatabl where functn=?";
PreparedStatement st = conn.prepareStatement(stm);
st.setString(1, str);
ResultSet rs = st.executeQuery();
if (rs.next()) {
String s = rs.getString(1);
JFrame f=new JFrame();
f.setVisible(true);
f.setSize(500,750);
JEditorPane jm=new JEditorPane();
f.add(jm);
jm.setPage(ClassLoader.getSystemResource(s));
} else {
JOptionPane.showMessageDialog(null, "function name not Found");
}
}
catch (Exception ex) {
System.out.println(ex);
}
如果我在 textarea 中輸入關鍵字,它只會打開一個窗口。 而且我無法打開下一個關鍵字的窗口。
String str = textArea.getText();
它只打開一個窗口,因為你只有一個字符串。 如果您希望字符串中有多個關鍵字,那么您需要解析每個關鍵字並對每個關鍵字分別進行數據庫查詢。
所以代碼可能是這樣的:
Connection con = new DBConnection().connect();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String[] keywords = textArea.getText().split();
for (String keyword: keywords)
{
createFrame(conn, keyword);
}
然后createFrame(...)
方法將創建 PreparedStatement,執行查詢並構建框架以顯示從數據庫返回的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.