用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 Workbench过程中的疑惑
- 求教高手
- MySQL还原问题…… (新手问题)
- 一般会不会有权限修改服务器上的mysqld设置?
- (求教,急~~~)一个表中,不同字段,相同的值,汇总的方法
- 怎样用ado来连接mysql?
- 字段id是自增类型的,如果前面的记录被删除掉,如何重新使用已删除记录的id?
- mysql有类似聚集索引 (cluster index )的东西吗?
- Mysql中如何把table_type的默认值MYISAM改为INNODB,我改了后启动不了
- MySQL如何访问SQL Server数据库
- mysql数据导入问题
- 如何把一个php网站的Postgresql数据库向MySQL迁移?
在MYSQL中运行是否有结果,DATA为变量还是值?
"select * from speciesinfo where id = "& data