编写了一个用户界面程序 想实现点击查询按钮能够在textarea中显示数据库中内容的功能,关于数据库输出已经编写完成,代码如下
```public class mysql {
public void input(String databasename,String username,String password) {
try {
Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序
//Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/"+databasename,username,password);
//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from city");
//user 为你表的名称
while (rs.next()) {
System.out.println(rs.getString("name"));
}
}
catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
}
应该怎么做,求大神指导一下 谢谢大家
嘻嘻,针对你的代码来看吧:你select * from city 对吧,你可以把city弄成个javabean啊,然后city类中实现toString 方法。这样你就可以把rs.getXXX都
放在一个个city类的实例中去,再把这些实例放到集合里去吧(if you may)。最后不就是遍历集合中每个元素,调用toString(),并且追加到一个StringBuffer 的对象里去(不如就把变量名定为buffer吧),**finally{textarea.setText(buffer.toString())}** 。
代码的话,我想你可以这样
ResultSet rs = stmt.executeQuery("select * from city");
List<City> citys = new ArrayList<City>();
while (rs.next()) {
City city = new city;
city.setName(rs.getString("name"));
citys.add(city)
}
StringBuffer sb = new StringBuffer();
for(City temp: citys){
sb.append(temp.toString());
}
//关键的来了
textarea.setText(sb.toString());
别问我City类怎么写,不然跳楼了啊...
Class cit{
private String name;
public setName(){...};
public getName(){...};
public String toString(){
return "name:"+this.name+"\n";
}
}
其实重点就一个,textarea.setText(),我简直就是话痨啊....
你要这样想,
控制台也是一个控件,输出控制台和输出到文件,或者网络或者控件没有什么本质区别的。
既然这样那么他们都是对象吧,都会有一个设置他们内容的方法吧
比如这个textarea就有一个setText方法可以设置他的内容。
如果不知道最好先查查java的api这样你会了解很多的哦
如有帮助还请采纳