亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Java Applet訪問數據庫

2019-11-18 11:56:09
字體:
來源:轉載
供稿:網友

  學習任何的程序語言,當然都得與數據庫,java剛剛誕生的時候,對數據庫的支持并不是很好,經過這幾年的發展,它對數據庫的支持也已經完全達到了成熟的境地。由于這里主要是介紹Java Applet小程序, 因此,不可能用大的篇幅去給大家介紹數據庫的知識了,怎么樣去建立與設計數據庫,還是請大家自己找點書看看吧!這兒,對不住了。
  
  
  
  
  
  我們這兒以Microsoft access數據庫為例子來說明怎么實現一個數據庫的打開與讀取的知識。
  
  
  
  
  
  第一步:
  
  使用Microsoft Access創建一個數據庫,也就是我的這個例子要用到的,內容就隨便了。
  
  
  
  
  
  第二步:也就是編程序了。
  
  
  
  
  
  1)定義變量,變量的定義如下:
  
  
  
  
  
  TextArea theVisits=new TextArea (6,80);
  
  //顯示數據庫的內容
  
  TextField theStatus=new TextField ("",80);
  
  //顯示打開數據庫的信息。相當于程序的狀態欄
  
  Connection theConnection; //數據庫的連接方法
  
  Statement theStatement; //代表一個發送到數據庫來執行的數據庫命令
  
  ResultSet theResult; //讀取的數據結果,也就是數據庫返回的結果
  
  ResultSetMetaData theMetaData;
  
  //包含了有關數據庫命令執行后 返回結果的有用信息。
  
  String theDataSource; //包含了被訪問數據庫或者數據源的名稱,用URL形式表示 .
  
  String theUser; //數據庫的用戶名
  
  String thePassWord; //數據庫的密碼
  
  2)實現界面,可以用開始時給大家介紹的方法來實現,界面的實現相對來說,
  
  
  
  
  
  比較的簡單了,如下:
  
  
  
  
  
  public void init()
  
  {
  
  add(theVisits);
  
  add(theStatus);
  
  theVisits.setEditable (false); //設置文本區域不可以被用戶寫入
  
  theStatus.setEditable (false); //設置文本區域不可以被用戶寫入
  
  openConnection(); //打開數據庫的連接
  
  execSqlCommand("select * from MyTable"); //從數據庫中讀取內容
  
  closeConnection(); //關閉已經打開的數據庫
  
  }
  
  3)打開某個數據庫的連接
  
  
  
  
  
  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);
  
  }
  
  }
  
  
  
  
  
  包含數據源名稱的字符串格式為一個非凡的語句:
  
  
  
  
  
  jdbc::
  
  
  
  
  
  協議 名jdbc必須提供,子協議和子名稱根據使用數據源類型而變化。
  
  JDBC DriverManager使用子協議來選擇書記源響應的驅動程序。子協議
  
  的通常值為“odbc”和“Oracle“,子名稱包含了該驅動程序使用的附加
  
  信息。通常情況,該子名稱是某個網絡名稱,例如,用于其它Web服務:
  
  
  
  
  
  jdba::///
  
  
  
  
  
  驅動程序的說明應該指定子協議和子名稱的正確形式。使用ODBC時,主機和端口信息沒有必要提供,因為數據源總是配置在本地主機上。用于ODBC數據源的形式是
  
  
  
  
  
  jdbc:odbc:
  
  
  
  
  
  為了打開數據庫連接,用戶必須使用具體的驅動程序另外,驅動程序應該指 定如何這樣做。假如正在使用JDBC-ODBC橋程序,那么可以通過使用名為Class類 的forName()方法來使用具體的JDBC-ODBC橋驅動程序。
  
  
  
  
  
  class.forName("sun.jdbc.JdbcOdbcDriver");
  
  
  
  
  
  然后,擁護可以告訴rManager打開數據源的連接,使用下列方法:
  
  
  
  
  
  theConnection=DriverManager.getConnection(theDataSource,theUser,thePassword);
  
  
  
  
  
  getConnection()方法返回一個Connection對象,用戶應該保存這個對象, 因為它是訪問數據源的方法。這里,該對象保存到名為theConnection的字段中。
  
  
  
  
  
  假如在打開連接過程中出現錯誤,則SQLexception作廢,通過在try-catch 塊內打開連接的語句,擁護可以處理這種異常。通過使用后面要講的handleException(), 在TextField內顯示一個簡短的相應信息。
  
  
  
  
  
  4)執行SQL命令
  
  
  
  
  
  public void execSQLCommand(String command)
  
  {
  
  try{
  
  theStatement=theConnection.createStatement();
  
  theResult=theStatement.executeQuery (command);
  
  theMetaData=theResult.getMetaData ();
  
  int columnCount=theMetaData.getColumnCount ();
  
  theVisits.setText("");
  
  while(theResult.next ())
  
  {
  
  for(int i =1;i<=columnCount;i++)
  
  {
  
  String colValue=theResult.getString(i);
  
  if(colValue==null)colValue="";
  
  theVisits.append (colValue+";");
  
  }
  
  theVisits.append ("/n");
  
  }
  
  }catch(Exception e)
  
  {
  
  handleException(e);
  
  }
  
  }
  
  為了執行該命令,程序使用Connection對象的createStatement()方法創建 一個可以有查詢的Statement。然后,它激活Statement對象的executiveQuery() 方法,用來傳遞包含SQL查詢語句的字符串。從init()中傳送過來的參數—— Slect * from MyTable是一個簡單的數據庫查詢語言,假如你還不知道什么意思, 那么請你還是查看一本有關數據庫的書吧,這些內容很多,不是我這兒一下子能說 清楚的了。它的意思簡單的說,就是查找表——MyTable中的所有(*)信息。它會 返回數據庫中的所有內容,并把它作為ResultSet訪問的結果。接著該程序激活ResultSet 對象的getMetaData()方法。這時,返回一個ResultSetMetaData值,該值存儲在 一個稱為theMetaData的變量中。使用ResultSetMetaData對象,可以獲得很多有用的 數據;這里該程序使用getColumnCount()方法獲得結果表中列的數量。最后,該程序反 復使用該結果表,激活theResult的next()方法獲得結果表中的每一條記錄,只到該方法 使用完全部記錄返回flase為止。
  
  
  
  
  
  5)關閉數據庫連接
  
  
  
  
  
  public void closeConnection()
  
  {
  
  try{
  
  theConnection.close ();
  
  }
  
  catch(Exception e)
  
  {
  
  handleException(e);
  
  }
  
  }
  
  當用戶訪問完某個數據庫時,應該關閉數據庫連接,釋放與連接有關的資源。用戶創建 的任何打開的ResultSet或者Statement對象將 自動關閉。另外,在關閉連接時可能發 生一個SQLException,也放到后面處理。
  
  
  
  
  
  6)處理異常和錯誤
  
  
  
  
  
  public void handleException(Exception e)
  
  {
  
  theStatus.setText("Error:"+e.getMessage ());
  
  e.PRintStackTrace ();
  
  if(e instanceof SQLException)
  
  {
  
  while((e=((SQLException)e).getNextException ())!=null)
  
  {
  
  System.out.println(e);
  
  }
  
  }
  
  }
  
  handleException()方法用來處理以上的錯誤和異常。該方法設置狀態TextField包含與 異常有關的錯誤消息,使用getMessage()方法獲得該消息。它還可以在System.out打印 堆棧軌跡。
  
  
  
  
  
  三 安裝ODBC數據源
  
  
  
  
  
  為了運行這個應用程序,用戶必須 首先創建一個與MyTable數據庫相對應的 ODBC數據源。 為了通過ODBC使用Access,用戶必須安裝Access Odbc驅動程序。假如用戶沒有安裝該驅動 程序,那么還是先安裝吧,什么,不會,不會也不行了,找一本書好好看看吧,這是肯定要 看的。我這兒簡單的給你說一下吧:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97在线观看免费高清| 中文字幕精品www乱入免费视频| 亚洲精品一区二区三区不| 亚洲精品免费av| 97精品在线视频| 亚洲无亚洲人成网站77777| 91精品国产高清久久久久久91| 欧美亚州一区二区三区| 欧美日韩亚洲一区二区| 欧美在线中文字幕| 亚洲一区免费网站| 欧亚精品中文字幕| 精品国产依人香蕉在线精品| 国产亚洲精品va在线观看| 欧美成人免费全部观看天天性色| 狠狠色噜噜狠狠狠狠97| 精品国产精品三级精品av网址| 国产综合视频在线观看| 国产精品视频在线观看| 亚洲**2019国产| 77777少妇光屁股久久一区| 久久视频国产精品免费视频在线| 中文字幕精品一区久久久久| 久久久成人av| 国产精品久久久久久久av电影| 久久91亚洲人成电影网站| 精品夜色国产国偷在线| 亚洲剧情一区二区| 俺去啦;欧美日韩| 欧美午夜精品在线| 日本伊人精品一区二区三区介绍| 中文亚洲视频在线| 欧美一级淫片丝袜脚交| 亚洲精品电影久久久| 亚洲欧美一区二区精品久久久| 美女久久久久久久| 久久中国妇女中文字幕| 国产精品久久久久999| 中日韩美女免费视频网站在线观看| 中文字幕欧美日韩va免费视频| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品久久久久久影视| 97色伦亚洲国产| 国产精品久久久久7777婷婷| 亚州国产精品久久久| 欧美日韩中文字幕综合视频| 色哟哟亚洲精品一区二区| 亚洲欧洲xxxx| 亚洲最大福利视频网站| 欧美激情视频网| 国产精品一区久久久| 国内精品一区二区三区四区| 亚洲精品网址在线观看| 欧美日韩成人免费| 国产欧美一区二区白浆黑人| 国产亚洲精品久久| 亚洲欧洲在线播放| 91亚洲精品一区| 亚洲成人精品av| 国产精品一香蕉国产线看观看| 亚州精品天堂中文字幕| 国产噜噜噜噜久久久久久久久| 亚洲国产高清自拍| 欧美国产精品日韩| 97超碰国产精品女人人人爽| 97国产精品视频人人做人人爱| 成人激情视频网| 亚洲欧美制服中文字幕| 国产精品网站大全| 国产成人精品久久二区二区91| 色婷婷综合久久久久| 日韩欧美在线看| 日本sm极度另类视频| 欧美日韩精品在线观看| 中文字幕日韩免费视频| 亚洲欧美色图片| 欧美日韩福利在线观看| 国产成人av在线播放| 国产婷婷97碰碰久久人人蜜臀| 欧美精品videos另类日本| 日韩在线免费视频观看| 97视频国产在线| 久久久久久12| 国产成人精品av| 亚洲三级免费看| 久久精品人人爽| 亚洲bt天天射| 91成人天堂久久成人| 97在线视频观看| 国产在线视频2019最新视频| 亚洲影院高清在线| 欧美日在线观看| 国产欧美在线观看| 国产在线精品播放| 欧美夜福利tv在线| 亚洲一区二区三| 亚洲欧美精品一区| 欧美一级片一区| 国产精品一区二区三区久久久| 正在播放国产一区| 亚洲欧美激情一区| 国产一区二区三区视频| 97视频在线观看免费高清完整版在线观看| 日韩欧美视频一区二区三区| 亚洲偷熟乱区亚洲香蕉av| 久久精品人人爽| 久久免费国产精品1| 综合136福利视频在线| 97碰碰碰免费色视频| 日韩av中文在线| 91免费视频国产| 欧美精品情趣视频| 亚洲欧美日韩国产中文专区| 91精品久久久久久久久久久久久久| 日韩中文理论片| 欧美日韩色婷婷| www.午夜精品| 亚洲系列中文字幕| 国产综合在线视频| 97精品久久久| 欧美日韩国产在线| 欧美日本啪啪无遮挡网站| 亚洲欧美一区二区三区在线| 欧美激情国产高清| 欧美黑人xxxⅹ高潮交| 国产aⅴ夜夜欢一区二区三区| 精品国产一区二区三区久久久| 国产欧美中文字幕| 美女黄色丝袜一区| 91久久精品国产| 亚洲天堂男人天堂女人天堂| 亚洲国内精品视频| 精品动漫一区二区三区| 精品久久久久久久久久久久久久| 国产精品激情自拍| 国产精品久久久久久久久| 日韩av一区二区在线| 国产成人亚洲综合91| 久久久久久久久久久久av| 亚洲第一免费网站| 人人做人人澡人人爽欧美| 欧美在线观看网站| 国产精品第一页在线| 国产在线999| 日韩精品在线观看一区| 欧美性猛xxx| 亚洲国产精品推荐| 国产精品揄拍500视频| 国产视频久久久久久久| 欧美大片大片在线播放| 欧美电影在线观看完整版| 亚洲最新av在线网站| 久久久免费观看| 欧美精品久久久久久久免费观看| 国产成人综合精品在线| 欧美高清电影在线看| 日韩在线视频一区| 亚洲裸体xxxx| 欧美xxxx综合视频| 91国产视频在线播放| 亚洲精品国偷自产在线99热| 亚洲精品日韩激情在线电影| 亚洲精品一区二三区不卡| 91色精品视频在线|