全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1486
推到 Plurk!
推到 Facebook!

如何判別資料庫中是否有資料表存在

尚未結案
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-08 12:55:32 IP:140.124.xxx.xxx 未訂閱
大家好~要如何判別資料庫中已有某一名稱的資料表存在,我想要做的是:若沒有此名稱的資料表存在,就新建一資料表,若已有,就不新建。 可是我不是用JBuilder,我是用Dreamweaver來寫JSP的,且用Access的資料庫,請問各位朋友,應該要如何來做呢?
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-09 00:28:16 IP:203.204.xxx.xxx 未訂閱
Hi~黑輪 以下的方法你可以試試看
Connection con = getConnection();    
DatabaseMetaData db = con.getMetaData();    
ResultSet rs=db.getTables("資料庫名稱",null,null,null);
  
此方法可以抓到你資料庫內所有資料表的集合~ 你可檢查此集合(ResultSet)是否有你要的tableName即可 沒有的話使用sql語法新增即可~ 下面可參考相關參數用法~ http://java.sun.com/j2se/1.4.2/docs/api/java/sql/DatabaseMetaData.html
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-09 00:49:24 IP:61.228.xxx.xxx 未訂閱
不好意思~要如何"檢查此集合(ResultSet)是否有你要的tableName即可"? 因為我是大外行~自已看書的啦~新增資料表我會~不過我不知道要如何檢查? 可不可以請您指點一下~感謝您哦
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-09 01:06:32 IP:203.204.xxx.xxx 未訂閱
bool flag=true; 
String tmp="你要比對的資料表名稱";
while(flag)
{rs.next();//移動資料集合的指標到下一筆
 if(tmp.equals(rs.getString("TABLE_NAME")));//比對是否存在此資料表名稱
  {.....存在時要做的處理   
   flag=false;//跳出while回圈
  }
}
 
大約就是這樣了~
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-10 17:11:37 IP:140.124.xxx.xxx 未訂閱
感謝您花時間解決我的問題哦~
系統時間:2024-05-08 22:15:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!