java如何读取数据库中table1表中的所有数据。

importjava.sql.*;publicclassdatabase{/***@paramargs*/publicstaticvoidmain(String[]arg... import java.sql.*;

public class database {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=c:/rf/SJK.mdb";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
System.out.println("before connection");
Connection con=DriverManager.getConnection(strurl);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from table1");
int n=rs.getMetaData().getColumnCount(); //最好不用这个语句
if(rs.next()) //不用这种有几行内容就要复制几个if---for 的语句,最好用一个直接一次循环,读取所有内容。
{
for(int i = 1; i<=n; i++)

System.out.println(rs.getString(i));

}
if(rs.next())
{
for(int i = 1; i<=n; i++)

System.out.println(rs.getString(i));

}
if(rs.next())
{
for(int i = 1; i<=n; i++)

System.out.println(rs.getString(i));

}

con.close();//关闭连接
}catch(Exception e)
{
System.out.println(e);
}
}

}
展开
 我来答
没有永远的诺言D9ff2
2011-03-28 · TA获得超过110个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:155万
展开全部
你那表里面存的是什么样的数据呢?就暂且假设你存储的是User 对象(含有username,pwd等字段),那么你就可以这样获得table1中所有的数据
PreparedStatement ps=con.prepareStatement("select * from table1");
rs=ps.executeQuery();
List<User> list=new ArrayList<User>();
if(rs.next()){
User user=new User(re.getString(1),re.getString(2),...........);
list.add(user);
}
然后你在把集合迭代出来,这是一种思路,或者如果苦里面存的是对象类型的数据,直接重写toString方法,在if语句块了直接打印user.toString亦可,这是另一种思路。反正方法多了,你自己根据需要做选择
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
earn8828
2011-03-28 · TA获得超过830个赞
知道小有建树答主
回答量:884
采纳率:0%
帮助的人:600万
展开全部
这样比较方便
while(rs.next()){
System.out.println(rs.getString(1));//你自己设置的数据库,就应该知道有多少列。。。
System.out.println(rs.getString(2));//
}
更多追问追答
追问
那么如何向数据库中已有表中插入一行新的数据,及如何提取数据库中某特定人的特定信息(小红的学号)?
追答
String query = "select * from table1 where name='小红' " ; //提取数据库中某特定人
ResultSet rs=stmt.executeQuery( query );
//之后的就跟之前的一样的方式

****************************************
String query = "insert into table1 (name,id) values ('xiaoHong','123456')" ; //插入一行新的数据(根据你的数据库,自己更改内容)
int checkInsert=stmt.executeUpdate( query );//是1的话就是成功插入数据。。。

//每次记得关闭statement和connection,不然插入和更新的数据将不会得到更改。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdu_viper
2011-03-31 · TA获得超过124个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:116万
展开全部
我这里有个封装好的读取数据库数据的类,楼主需要的话留邮箱,我发给你
追问
nlj34@sina.com
谢谢啦,我这就结贴。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式