在這個演示程序中用到數據庫是Access的
數據庫中的表的名字是STUDENTINFO表
包含字段有
IDNO 文本型 長為
NAME 文本型 長為
SEX 文本型 長為
AGE 數值型 長為
BIRTHDT 文本型 長為
程序中主要是操作這個表
選擇的驅動是ODBC
程序如下
import java
sql
*;
public class DBAccess {
public static java
sql
Connection conn = null;
private String sqlStr =
;
public DBAccess()
{
//new sun
jdbc
odbc
JdbcOdbcDriver();
try {
Class
forName(
sun
jdbc
odbc
JdbcOdbcDriver
);
conn = DriverManager
getConnection(
jdbc:odbc:TestDB
admin
);
}
catch (ClassNotFoundException ex) {
System
out
println(ex
toString());
}
catch(SQLException sqlEx){
System
out
println(sqlEx
toString());
}
}
public ResultSet Search() {
ResultSet rset = null;
sqlStr =
SELECT * FROM STUDENTINFO
;
Statement smt = null;
try {
smt = conn
createStatement();
rset = smt
executeQuery(sqlStr);
}
catch (SQLException ex) {
System
out
println(
Exception:
+ex
toString());
}
return rset;
}
public void getResultSetMetaData()
{
ResultSet rs = null;
try {
String[] tp = {
TABLE
};
rs = this
Search();
ResultSetMetaData rsmd = rs
getMetaData();
/*
獲得ResultSetMeataData對象
所有方法的參數都是列的索引號
即第幾列
從
開始
*/
System
out
println(
下面這些方法是ResultSetMetaData中方法
);
System
out
println(
獲得
列所在的Catalog名字 :
+ rsmd
getCatalogName(
));
System
out
println(
獲得
列對應數據類型的類
+ rsmd
getColumnClassName(
));
System
out
println(
獲得該ResultSet所有列的數目
+ rsmd
getColumnCount());
System
out
println(
列在數據庫中類型的最大字符個數
+ rsmd
getColumnDisplaySize(
));
System
out
println(
列的默認的列的標題
+ rsmd
getColumnLabel(
));
System
out
println(
列的模式
+ rsmd
GetSchemaName(
));
System
out
println(
列的類型
返回SqlType中的編號
+ rsmd
getColumnType(
));
System
out
println(
列在數據庫中的類型
返回類型全名
+ rsmd
getColumnTypeName(
));
System
out
println(
列類型的精確度(類型的長度):
+ rsmd
getPrecision(
));
System
out
println(
列小數點後的位數
+ rsmd
getScale(
));
System
out
println(
列對應的模式的名稱(應該用於Oracle)
+ rsmd
getSchemaName(
));
System
out
println(
列對應的表名
+ rsmd
getTableName(
));
System
out
println(
列是否自動遞增
+ rsmd
isAutoIncrement(
));
System
out
println(
列在數據庫中是否為貨幣型
+ rsmd
isCurrency(
));
System
out
println(
列是否為空
+ rsmd
isNullable(
));
System
out
println(
列是否為只讀
+ rsmd
isReadOnly(
));
System
out
println(
列能否出現在where中
+ rsmd
isSearchable(
));
}
catch (SQLException ex) {
ex
printStackTrace();
}
}
public static void main(String args[])
{
DBAccess dbAccess = new DBAccess();
dbAccess
getResultSetMetaData();
}
}
通過上面例子中的方法能夠獲得
ResultSet中的表的信息
有兩個方法的用法我也不甚清楚
所以沒寫
弄明白了再作補充
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25341.html