JAVA 查知数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 09:41:41
查知oracle数据库里有没有一张表 如果有 就打印个有 没有 就创建这张表 别人给我出的错误方法 如下:public void zidian(String st){
db = DbConnect.getInstance();
conn = db.getConnect();
try{
sql="select * from ? ";
ps=conn.prepareStatement(sql);
ps.setString(1, st);
System.out.println("查出来了!");
}
catch (SQLException se){
try{
sql="create table ?(id number, title varchar2(40), intro varchar2(3000), time Date)";
ps=conn.prepareStatement(sql);
ps.setString(1, st);
ps.executeUpdate();
ps.close();
sql="select * from sousuo where title like '?'||intro like'?'";
ps=conn.prepareStatement(sql);
ps.setString(1, st);
ps.executeUpdate();
ResultSet rs = ps.executeQuery();
while(rs.next()){
sql="insert into ? values(?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1, st);
ps.setStri

while(mrs.next()){
if(mrs.getString(3).equalsIgnoreCase(st)){//留意大小写问题
//有这个表
}
}
//没找到 ,写建表语句

next()方法,每次调用指针在结果集当前位置下移一位,最开始处在BOF(就是第一条记录的上面),
直到移动到EOF位(最后一条记录下面),这时如果再调用next()会抛出异常

COnnection查询数据库后返回结果集。
结果集就是:
->
1 admin ttt serrtret
2 trrt er 7687686
......

->就是指针(游标).返回结果集什,游标就在最前面(第一条记录之前)
需要移动一次游标 指向第一条记录。
rs.next();

这个方法:如果没有下一条记录,返回false.
于是while(rs.next())就能判断是否有下一条记录并循环记录