用java编程,条件查询mysql的数据表
代码如下:
public Object[] getData(String data) throws SQLException{
//通过id得到行数据
String sql = "select * from speciesinfo where id = 'data'" ;
ResultSet rs=con.executeQuery(sql); ResultSetMetaData rsmd=(ResultSetMetaData) rs.getMetaData();
//读取数据表中的列数
int numberOfColumns = rsmd.getColumnCount();
Object[] object=new Object[numberOfColumns];
System.out.println(rs.next()); //读取数据库表中当前行中指定列的值
while (rs.next()){
for(int i = 0; i<numberOfColumns; i++){
object[i] = rs.getObject(i+1); //因为数据库字段的索引从1开始,而非0开始,所以用i+1
System.out.println(rsmd.getColumnLabel(i+1)+"="+object[i]);
}
}
System.out.println("========================");
return object;
}方法调用是这么写的 getData('pinus1')执行时没有结果输出,调试后,发现输出的rs.next()为false。各位帮忙看一下,是哪里写错了?我自己觉得是sql语句写错了,但不知道怎么写才是对的,也请教下各位?万分感谢。
代码如下:
public Object[] getData(String data) throws SQLException{
//通过id得到行数据
String sql = "select * from speciesinfo where id = 'data'" ;
ResultSet rs=con.executeQuery(sql); ResultSetMetaData rsmd=(ResultSetMetaData) rs.getMetaData();
//读取数据表中的列数
int numberOfColumns = rsmd.getColumnCount();
Object[] object=new Object[numberOfColumns];
System.out.println(rs.next()); //读取数据库表中当前行中指定列的值
while (rs.next()){
for(int i = 0; i<numberOfColumns; i++){
object[i] = rs.getObject(i+1); //因为数据库字段的索引从1开始,而非0开始,所以用i+1
System.out.println(rsmd.getColumnLabel(i+1)+"="+object[i]);
}
}
System.out.println("========================");
return object;
}方法调用是这么写的 getData('pinus1')执行时没有结果输出,调试后,发现输出的rs.next()为false。各位帮忙看一下,是哪里写错了?我自己觉得是sql语句写错了,但不知道怎么写才是对的,也请教下各位?万分感谢。
在MYSQL中运行是否有结果,DATA为变量还是值?
"select * from speciesinfo where id = "& data