正在开发一个应用程序来查询表并在JTextarea中将其打印出来,但没有响应而是标记错误'非法开始表达'请新的,我需要帮助,这是我的代码谢谢
try{
//get connection to the database
Connection myconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/cbt_for_java", "root","");
//create a statement
Statement mystmt=myconn.createStatement();
//execute sql query
ResultSet myrs = mystmt.executeQuery("select * from jamb WHERE ID = '1'");
//process the result set
// System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));
}
catch(Exception exc){
exc.printStackTrace();
}
BorderLayout questionareaLayout = new BorderLayout();
JPanel questionp = new JPanel();
JTextArea question=new
//this is where the problem is
JTextArea(System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));,22,111);
question.setEditable(false);
questionp.add(question);
add(questionp);
答案 0 :(得分:4)
System.out.println()
确实有返回值,因此您无法使用它来设置值。它的作用是写入控制台。
要在文本字段中设置值,请使用setText(),而不使用System.out.println
答案 1 :(得分:2)
而不是传递给JTextArea的构造函数的复杂表达式(不会作为正确的参数)
System.out.println(myrs.getString("ID") + "." + myrs.getString("question"));,22,111
首先尝试创建一个String,然后将其作为参数传递,如下所示:
String text = "id" + "text" + "stuff";
JTextArea question = new JTextArea(text);
答案 2 :(得分:1)
System.out.println
将打印到命令行,您无法使用它来设置您需要执行的JTextArea中的文本:
JTextArea question = new JTextArea(22,111);
question.setText(myrs.getString("ID") + "." + myrs.getString("question"));
答案 3 :(得分:0)
String s=myrs.getString("ID") + "." + myrs.getString("question");
这里你将获得s
中的字符串,现在将字符串与其他参数一起传递。
JTextArea(s,22,111);