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);
}
}
}
那么如何向数据库中已有表中插入一行新的数据,及如何提取数据库中某特定人的特定信息(小红的学号)?
追答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,不然插入和更新的数据将不会得到更改。。。
首先非常感谢您。但是用
String sql1="insert into table1(Name, Age,ID)VALUES('lisi','20','08933843')"; //添加一行数据到数据库
statement.executeUpdate(sql1);
插入一行数据后,执行第二次的时候在控制台又出现一行第一次运行的数据。这是为什么?
[email protected]
谢谢啦,我这就结贴。