下午試題目的是考能力,考“普遍性”的東西,而盡量避免“特殊性”。也就是說,考題不應(yīng)該受考生個(gè)人特殊知識(shí)背景影響太大。象高程試題就是這樣。即使是程序設(shè)計(jì),還有C/C++的選擇,也就是照顧到了不同,考生的知識(shí)背景,這樣才是公平的。
我的個(gè)人看法是,下午試題中,出現(xiàn)數(shù)據(jù)流圖、E-R圖、案例分析與設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、SQL、UML這樣的可能性比較大,另外這些概念也可能會(huì)考。
JDBC基礎(chǔ)教程之概述
1.1 什么是 JDBCTM?
JDBCTM 是一種用于執(zhí)行 SQL 語(yǔ)句的 JavaTM API(有意思的是,JDBC 本身是個(gè)商標(biāo)名而不是一個(gè)縮寫字;然而,JDBC常被認(rèn)為是代表 “Java 數(shù)據(jù)庫(kù)連接 (Java Data
base Connectivity)”)。它由一組用 Java 編程語(yǔ)言編寫的類和接口組成。JDBC 為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的 API,使他們能夠用純Java API 來編寫數(shù)據(jù)庫(kù)應(yīng)用程
序。
有了 JDBC,向各種關(guān)系數(shù)據(jù)庫(kù)發(fā)送 SQL 語(yǔ)句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問 Sybase 數(shù)據(jù)庫(kù)專門寫一個(gè)程序,為訪問 Oracle 數(shù)據(jù)庫(kù)又專門寫一個(gè)程序,
為訪問Informix 數(shù)據(jù)庫(kù)又寫另一個(gè)程序,等等。您只需用 JDBC API 寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送 SQL 語(yǔ)句。而且,使用 Java 編程語(yǔ)言編寫的應(yīng)用程序,就無須去憂慮要為不同
的平臺(tái)編寫不同的應(yīng)用程序。將 Java 和 JDBC 結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺(tái)上運(yùn)行。
下午考試第五題猜想
JDBC 的所有基本功能,現(xiàn)在我們可以編寫一個(gè)簡(jiǎn)單的程序,該程序打開數(shù)據(jù)庫(kù),打印它的表名以及某一表列的內(nèi)容,然后對(duì)該數(shù)據(jù)庫(kù)執(zhí)行查詢。此程序如下所示:
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
public JdbcOdbc_test() throws SQLException {
String url = "jdbc:odbc:Northwind";
try {
//加載 JDBC-ODBC 橋驅(qū)動(dòng)程序
(————————————————————);
con = (————————————);//連接數(shù)據(jù)庫(kù)
dma = (————————————);//獲取數(shù)據(jù)庫(kù)的元數(shù)據(jù)
System.out.println("Connected to:" + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
} catch (Exception e) {
System.out.println(e);
}
try {
Statement stmt = (————————————)
results = (———————————) ResultSetMetaData (————————————) int cols = (————————————)
String resultRow = "";
for (int i = 1; i < cols; i++) {
resultRow += resultMetaData.getColumnName(i) + ";";
}
System.out.println(resultRow);
while (————————————){
resultRow = "";
for (int i = 1; i < cols; i++) {
try {
resultRow += (————————————) + ";";
} catch (NullPointerException e) {
System.out.println(e.getMessage());
}
}
System.out.println(resultRow);
}
} catch (Exception e) {
System.out.println("query exception");
} finally {
(————————————)
}
}
}