2012-02-24 45 views
0

我必須構建一個插入查詢字符串來創建一個Prepared Statement。我有Excel文件中的所有列名稱。創建具有大量列的準備語句

有超過表250列,要花費大量的時間和精力來創建一個簡單的插入查詢。我必須計算列並將?置於查詢中的值字段中。

是否有任何其他的方法來創建這些查詢。

請推薦。 由於事先

+0

你在做什麼只是一次性工作!你正在尋找一些機械解決方案或Java解決方案? – Santosh 2012-02-24 11:48:18

+0

是的,因爲我必須寫相同的查詢,但略有修改超過10個表 – Abhij 2012-02-24 11:56:52

回答

1

我可以建議這樣做,實現這將是一個更大的問題,不過,從我可以做出來的一個範例,這是一個相當涉及的任務!

可以使用JXL API來讀取這些列名,您還可以存儲它們的類型在同一個Excel文件(當你準備語句,這將是有益的)。

那麼您的Excel將是:

Column 1 | Integer 
Column 2 | String 
Column 3 | Date 

JXL將讓你閱讀這一切到你的Java程序,存放在地圖信息(java.util.HashMap中) ,所以在這一點上你有你的程序中的列的名稱和它們的數據類型。

現在,關於創建準備好的聲明。

String allColumnNames =""; 
foreach element in the hashmap, allColumnNames+=getKey() + "," 

所以在這一點allColumnNames擁有所有列名

做準備的聲明段:

​​3210

有去你準備好的聲明。

在此之後,插入的東西,你可以通過再次HashMap的迭代,並調用了setString或SETINT或任何因HashMap中的「價值」的一部分。

正如我所說的,它是一個漫長而複雜的過程,但你甚至可以修改此過程只設定值在Excel文件中,然後直接從Excel的將它們插入到你的表。