小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用Java訪問SQL Server 2000數(shù)據(jù)庫

 sjyuhusun 2006-01-15
用Java訪問SQL    Server    2000數(shù)據(jù)庫                                          

  數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)是當(dāng)今計(jì)算機(jī)領(lǐng)域的兩大熱門話題,數(shù)據(jù)庫技術(shù)自產(chǎn)生以來,在技術(shù)上已發(fā)展成熟。而作為前端訪問的開發(fā)工具和環(huán)境仍處在不斷完善和發(fā)展之中,除了網(wǎng)絡(luò)上使用的ASP、PHP、JSP作為前端連接數(shù)據(jù)庫技術(shù)外,小型系統(tǒng)上常用訪問數(shù)據(jù)庫技術(shù)有Delphi、Visual Basic、PowerBuilder及VC++等,而Java也是其中之一。

  Java語言是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言之一,它提供了方便訪問數(shù)據(jù)的技術(shù)。利用Java語言中的JDBC技術(shù),用戶能方便地開發(fā)出基于Web網(wǎng)頁的數(shù)據(jù)庫訪問程序,從而擴(kuò)充網(wǎng)絡(luò)應(yīng)用功能。JDBC(Java Database Connectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一的訪問接口。JDBC由一組用Java語言編寫的類與接口組成,通過調(diào)用這些類和接口所提供的方法,用戶能夠以一致的方式連接多種不同的數(shù)據(jù)庫系統(tǒng)(如Access、SQL Server 2000、Oracle、Sybase等),進(jìn)而可使用標(biāo)準(zhǔn)的SQL語言來存取數(shù)據(jù)庫中的數(shù)據(jù),而不必再為每一種數(shù)據(jù)庫系統(tǒng)編寫不同的Java程序代碼。

  SQL Server2000是微軟公司新一代的數(shù)據(jù)庫產(chǎn)品,它是在SQL Server7.0建立的堅(jiān)固基礎(chǔ)上產(chǎn)生的,并對(duì)SQL Server7.0做了大量擴(kuò)展。SQL Server2000通過高端硬件平臺(tái)以及最新網(wǎng)絡(luò)和存儲(chǔ)技術(shù)的支持,可為最大的Web站點(diǎn)和企業(yè)級(jí)應(yīng)用提供可擴(kuò)展性和高可靠性。

  Java通過JDBC、ODBC接口訪問數(shù)據(jù)庫

  1 JDBC、ODBC接口

  Java應(yīng)用程序通過JDBC API(java.sql)與數(shù)據(jù)庫連接,而實(shí)際的動(dòng)作則是由JDBC驅(qū)動(dòng)程序管理器(JDBC Driver Manager)通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫系統(tǒng)進(jìn)行連接。ODBC(Open DataBase Connectivity)即開放式的接口,它為用戶提供了一個(gè)訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)接口,對(duì)于不同的數(shù)據(jù)庫它提供了一套統(tǒng)一的API;可以使應(yīng)用程序通過API訪問任何提供了ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫,而目前所有的關(guān)系數(shù)據(jù)庫都提供了ODBC驅(qū)動(dòng)程序,所以O(shè)DBC已經(jīng)成為數(shù)據(jù)庫訪問的業(yè)界標(biāo)準(zhǔn),并得到了廣泛應(yīng)用。

  JDBC-ODBC橋是一種JDBC驅(qū)動(dòng)程序,它通過將JDBC操作轉(zhuǎn)換為ODBC操作來實(shí)現(xiàn)的。利用JDBC-ODBC橋可以使程序開發(fā)人員不需要學(xué)習(xí)更多的知識(shí)就可以編寫JDBC應(yīng)用程序,并能夠充分利用現(xiàn)有的ODBC數(shù)據(jù)源。JDBC-ODBC橋驅(qū)動(dòng)程序可以使JDBC能夠訪問幾乎所有類型的數(shù)據(jù)庫。

  2 利用Java應(yīng)用程序訪問SQL Server2000數(shù)據(jù)庫

 ?。?)建立數(shù)據(jù)庫

  啟動(dòng)“Microsoft SQL Server2000”,打開“企業(yè)管理器”在“數(shù)據(jù)庫”中建立名為“mydata”的數(shù)據(jù)庫,并在其下制作名為“wuzi”的數(shù)據(jù)表,如圖1所示。

圖1

 ?。?)建立(ODBC)數(shù)據(jù)源和驅(qū)動(dòng)程序

  在控制面板上通過“管理工具”的“數(shù)據(jù)源(ODBC)”打開“ODBC數(shù)據(jù)源管理器”對(duì)話框,單擊“系統(tǒng)DSN”選項(xiàng)卡,然后單擊“添加”按鈕,得到“創(chuàng)建數(shù)據(jù)源”對(duì)話框,選擇“SQL Server”并單擊“完成”按鈕,在出現(xiàn)的“建立新的數(shù)據(jù)源到SQL Server”對(duì)話框中的“數(shù)據(jù)源名稱”項(xiàng)填寫“wzgl”并選取“服務(wù)器名”,然后單擊“下一步”按鈕,選擇“使用網(wǎng)絡(luò)登錄ID的Windows NT驗(yàn)證”項(xiàng)目,單擊“下一步”按鈕,把默認(rèn)的數(shù)據(jù)庫改為“mydata”,再單擊“下一步”,單擊“完成”按鈕,然后可以單擊“測(cè)試數(shù)據(jù)源”,成功后,單擊“確定”按鈕,完成了(ODBC)數(shù)據(jù)源和驅(qū)動(dòng)程序的建立。

3 編寫代碼

  將代碼保存在jdbc.java文件中:

import java.awt.*;import java.awt.event.*;import java.sql.*;
public class jdbc //定義主類
{
 public static void main(String args[])
 {
  GUI gui=new GUI(); //創(chuàng)建類GUI的對(duì)象
  gui.pack(); //裝載執(zhí)行GUI類
 }
}
class GUI extends Frame implements Action Listener
{
 TextArea text; Panel panel; TextField sno; Button btn;
 GUI() //構(gòu)造方法
 {
  super("物資情況查詢");setLayout(new BorderLayout());
  setBackground(Color.cyan);
  setVisible(true);text=new TextArea();
  btn=new Button("查詢");
  sno=new TextField(16);
  panel=new Panel();
  panel.add(new Label("輸入被查詢的物資編號(hào):"));
  panel.add(sno); panel.add(btn);
  add("North",panel); add(text,"Center");
  text.setEditable(false);btn.addActionListener(this);
  addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e)
   {
    setVisible(false);
    System.exit(0);
   }
 });
}
public void actionPerformed(ActionEvent e) {
 if(e.getSource()==btn) //當(dāng)用戶按下查詢按鈕時(shí)
 {
  text.setText("查詢結(jié)果"+‘\n‘); //顯示提示信息
  try
  {
   Liststudent();
  }
  catch(SQLException ee) { }
 }
}
public void Liststudent() throws SQLException //針對(duì)數(shù)據(jù)庫的操作
{
 String bh,mc,xh,lb,dw,sj;
 int sl; float dj,je;
 try
 {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 }
 catch(ClassNotFoundException e) { }
 Connection con=DriverManager.getConnection("jdbc:odbc:wzgl");
 Statement sql=con.createStatement(); //創(chuàng)建Statement對(duì)象
 ResultSet rs=sql.executeQuery("select * from wuzi");
 while(rs.next()) //輸出被查詢的情況
 {
  bh=rs.getString("物資編號(hào)");
  mc=rs.getString("物資名稱");
  xh=rs.getString("規(guī)格型號(hào)");
  lb=rs.getString("類別");
  dw=rs.getString("計(jì)量單位");
  sl=rs.getInt("數(shù)量");
  dj=rs.getFloat("單價(jià)");
  je=rs.getFloat("金額");
  sj=rs.getDate("時(shí)間").toString();
  if(bh.trim().equals(sno.getText().trim()))
  {
   text.append(‘\n‘+"物資編號(hào)"+" "+"物資名稱"+" "+"規(guī)格型號(hào)"+" "+"類別"+" "+"計(jì)量單位"+" "+"數(shù)量"+" "+"單價(jià)"+" "+"金額"+" "+"時(shí)間"+‘\n‘);
   text.append(‘\n‘+bh+" "+mc+" "+xh+" "+lb+" "+dw+" "+sl+" "+dj+" "+je+" "+sj+" "+‘\n‘);
  }
 }
}
}
 

  4 運(yùn)行程序

  首先編繹:javac jdbc.java

  編譯成功后,執(zhí)行:java jdbc

  執(zhí)行后在文本框中輸入要查詢物資的物資編號(hào),單擊“查詢”按鈕,在下面的文本框中顯示被查詢物資的所有信息。如圖2所示。


圖2

  結(jié)束語

  本文只涉及到對(duì)SQL Server2000數(shù)據(jù)庫訪問的查詢操作,也可以進(jìn)行插入、刪除、修改等操作。隨著數(shù)據(jù)庫技術(shù)的迅猛發(fā)展和Java版本的不斷升級(jí),利用Java對(duì)數(shù)據(jù)庫的訪問會(huì)越來越簡(jiǎn)單,并且應(yīng)用的范圍也會(huì)越來越廣,當(dāng)然還會(huì)有許多新的功能等待我們?nèi)ラ_發(fā)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多