使用Java Applet訪問(wèn)數(shù)據(jù)庫(kù)
學(xué)習(xí)任何的程序語(yǔ)言,當(dāng)然都得與數(shù)據(jù)庫(kù),Java剛剛誕生的時(shí)候,對(duì)數(shù)據(jù)庫(kù)的支持并不是很好,經(jīng)過(guò)這幾年的發(fā)展,它對(duì)數(shù)據(jù)庫(kù)的支持也已經(jīng)完全達(dá)到了成熟的境地。由于這里主要是介紹Java Applet小程序, 因此,不可能用大的篇幅去給大家介紹數(shù)據(jù)庫(kù)的知識(shí)了,怎么樣去建立與設(shè)計(jì)數(shù)據(jù)庫(kù),還是請(qǐng)大家自己找點(diǎn)書看看吧!這兒,對(duì)不住了。
我們這兒以Microsoft Access數(shù)據(jù)庫(kù)為例子來(lái)說(shuō)明怎么實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)的打開(kāi)與讀取的知識(shí)。
第一步:
使用Microsoft Access創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),也就是我的這個(gè)例子要用到的,內(nèi)容就隨便了。
第二步:也就是編程序了。
1)定義變量,變量的定義如下:
TextArea theVisits=new TextArea (6,80);
//顯示數(shù)據(jù)庫(kù)的內(nèi)容
TextField theStatus=new TextField ("",80);
//顯示打開(kāi)數(shù)據(jù)庫(kù)的信息。相當(dāng)于程序的狀態(tài)欄
Connection theConnection; //數(shù)據(jù)庫(kù)的連接方法
Statement theStatement; //代表一個(gè)發(fā)送到數(shù)據(jù)庫(kù)來(lái)執(zhí)行的數(shù)據(jù)庫(kù)命令
ResultSet theResult; //讀取的數(shù)據(jù)結(jié)果,也就是數(shù)據(jù)庫(kù)返回的結(jié)果
ResultSetMetaData theMetaData;
//包含了有關(guān)數(shù)據(jù)庫(kù)命令執(zhí)行后 返回結(jié)果的有用信息。
String theDataSource; //包含了被訪問(wèn)數(shù)據(jù)庫(kù)或者數(shù)據(jù)源的名稱,用URL形式表示 .
String theUser; //數(shù)據(jù)庫(kù)的用戶名
String thePassword; //數(shù)據(jù)庫(kù)的密碼
2)實(shí)現(xiàn)界面,可以用開(kāi)始時(shí)給大家介紹的方法來(lái)實(shí)現(xiàn),界面的實(shí)現(xiàn)相對(duì)來(lái)說(shuō),
比較的簡(jiǎn)單了,如下:
public void init()
{
add(theVisits);
add(theStatus);
theVisits.setEditable (false); //設(shè)置文本區(qū)域不可以被用戶寫入
theStatus.setEditable (false); //設(shè)置文本區(qū)域不可以被用戶寫入
openConnection(); //打開(kāi)數(shù)據(jù)庫(kù)的連接
execSqlCommand("select * from MyTable"); //從數(shù)據(jù)庫(kù)中讀取內(nèi)容
closeConnection(); //關(guān)閉已經(jīng)打開(kāi)的數(shù)據(jù)庫(kù)
}
3)打開(kāi)某個(gè)數(shù)據(jù)庫(kù)的連接
public void openConnection()
{
theDataSource="JDBC:odbc:MyAccess";
theUser="";
thePassword="";
try
{
Class.forName("Sun.jdbc.odbc.JdbcOdbcDriver");
theConnection=DriverManager.getConnection(theDataSource,theUser,thePassword);
theStatus.setText("Status:OK");
}
catch (Exception e)
{
handleException(e);
}
}
學(xué)習(xí)任何的程序語(yǔ)言,當(dāng)然都得與數(shù)據(jù)庫(kù),Java剛剛誕生的時(shí)候,對(duì)數(shù)據(jù)庫(kù)的支持并不是很好,經(jīng)過(guò)這幾年的發(fā)展,它對(duì)數(shù)據(jù)庫(kù)的支持也已經(jīng)完全達(dá)到了成熟的境地。由于這里主要是介紹Java Applet小程序, 因此,不可能用大的篇幅去給大家介紹數(shù)據(jù)庫(kù)的知識(shí)了,怎么樣去建立與設(shè)計(jì)數(shù)據(jù)庫(kù),還是請(qǐng)大家自己找點(diǎn)書看看吧!這兒,對(duì)不住了。
我們這兒以Microsoft Access數(shù)據(jù)庫(kù)為例子來(lái)說(shuō)明怎么實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)的打開(kāi)與讀取的知識(shí)。
第一步:
使用Microsoft Access創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),也就是我的這個(gè)例子要用到的,內(nèi)容就隨便了。
第二步:也就是編程序了。
1)定義變量,變量的定義如下:
TextArea theVisits=new TextArea (6,80);
//顯示數(shù)據(jù)庫(kù)的內(nèi)容
TextField theStatus=new TextField ("",80);
//顯示打開(kāi)數(shù)據(jù)庫(kù)的信息。相當(dāng)于程序的狀態(tài)欄
Connection theConnection; //數(shù)據(jù)庫(kù)的連接方法
Statement theStatement; //代表一個(gè)發(fā)送到數(shù)據(jù)庫(kù)來(lái)執(zhí)行的數(shù)據(jù)庫(kù)命令
ResultSet theResult; //讀取的數(shù)據(jù)結(jié)果,也就是數(shù)據(jù)庫(kù)返回的結(jié)果
ResultSetMetaData theMetaData;
//包含了有關(guān)數(shù)據(jù)庫(kù)命令執(zhí)行后 返回結(jié)果的有用信息。
String theDataSource; //包含了被訪問(wèn)數(shù)據(jù)庫(kù)或者數(shù)據(jù)源的名稱,用URL形式表示 .
String theUser; //數(shù)據(jù)庫(kù)的用戶名
String thePassword; //數(shù)據(jù)庫(kù)的密碼
2)實(shí)現(xiàn)界面,可以用開(kāi)始時(shí)給大家介紹的方法來(lái)實(shí)現(xiàn),界面的實(shí)現(xiàn)相對(duì)來(lái)說(shuō),
比較的簡(jiǎn)單了,如下:
public void init()
{
add(theVisits);
add(theStatus);
theVisits.setEditable (false); //設(shè)置文本區(qū)域不可以被用戶寫入
theStatus.setEditable (false); //設(shè)置文本區(qū)域不可以被用戶寫入
openConnection(); //打開(kāi)數(shù)據(jù)庫(kù)的連接
execSqlCommand("select * from MyTable"); //從數(shù)據(jù)庫(kù)中讀取內(nèi)容
closeConnection(); //關(guān)閉已經(jīng)打開(kāi)的數(shù)據(jù)庫(kù)
}
3)打開(kāi)某個(gè)數(shù)據(jù)庫(kù)的連接
public void openConnection()
{
theDataSource="JDBC:odbc:MyAccess";
theUser="";
thePassword="";
try
{
Class.forName("Sun.jdbc.odbc.JdbcOdbcDriver");
theConnection=DriverManager.getConnection(theDataSource,theUser,thePassword);
theStatus.setText("Status:OK");
}
catch (Exception e)
{
handleException(e);
}
}