Java 不知道如何转换为字符串和打印结果集,请选择语句
这是我的一小段代码。基本上,我不知道如何打印结果集或将其转换为字符串Java 不知道如何转换为字符串和打印结果集,请选择语句,java,select,jdbc,resultset,Java,Select,Jdbc,Resultset,这是我的一小段代码。基本上,我不知道如何打印结果集或将其转换为字符串 try { String url = "jdbc:odbc:" + "userstuff"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection(url,"",""); // Gets a statement Statement state = con.createState
try {
String url = "jdbc:odbc:" + "userstuff";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url,"","");
// Gets a statement
Statement state = con.createStatement();
String query = "SELECT description FROM topics WHERE title = '" + title + "'";
String query2 = "SELECT * FROM comment WHERE topic = '" + title + "'";
// selects the description for the selected topic ( title will be referenced to the chosen topic)
ResultSet results = state.executeQuery(query);
// selects * of the rows from "comment" table where the topic equals the selected title.
ResultSet results2 = state.executeQuery(query2);
desc = results.toString();
}
您不能将ResultSet转换为字符串,也不能直接从ResultSet打印 下面的代码可能对您有所帮助
try {
String url = "jdbc:odbc:" + "userstuff";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url,"","");
// Gets a statement
Statement state1 = con.createStatement();
Statement state2 = con.createStatement();
String query1 = "SELECT description FROM topics WHERE title = '" + title + "'";
// selects the description for the selected topic ( title will be referenced to the chosen topic)
ResultSet results1 = state1.executeQuery( query1 );
while( results.next() ){
System.out.println( results1.getString( "description" );
}
// selects * of the rows from "comment" table where the topic equals the selected title.
String query2 = "SELECT * FROM comment WHERE topic = '" + title + "'";
ResultSet results2 = state2.executeQuery( query2 );
while( results2.next() ){
System.out.println( results2.getString( 1 ); // here 1 is tables 1st column
System.out.println( results2.getString( 2 ); // here 2 is tables 2nd column
}
} Exception( SQL e){
e.printStackTrace();
}
这不是好代码。简而言之,您应该将所有结果集映射到一个对象或数据结构中,并在范围内关闭它。学习如何使用PreparedStatement;不要像您这样手动建立查询字符串。谷歌为SQL注入理解为什么。ODBC网桥驱动程序在JDK 8中不再可用。你不应该依赖它。好的,谢谢你的提示和帮助。我会努力改进我的代码,我对这个很陌生。哦,好吧,我明白了!谢谢你的帮助看起来效果好多了。