资源描述:
《程式设计与资料结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JAVA程式設計與資料結構第十一章JDBCJDBCJAVA程式可用來與資料庫連結,進而操作資料庫中的資料,如取得,更新,儲存等等。使用之前請先設定電腦為DBMS的主機。再使用JDBC-ODBCBridge為Driver來連結。建立連結Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//第一步:讀進JDBCDriverStringurl="jdbc:odbc:Store";Connectionconn=DriverManager.getConnection(url);//第二部:建立與資料庫的連結建立敘述以及表格接下來我們來建立敘述(Stateme
2、nt)。雖然我們已經建立了連結,不過我們必須要將SQL的指令送進去,才能夠根據這些指令來操控資料庫,所以我們需要Statement。Statementstmt=conn.createStatement()建立表單(Table)的SQL指令為:CREATETABLEPersonnel(NameVARCHAR(32),IDINTEGER,SalaryFLOAT,GenderString);加入資料根據製作的表單內容項目加入一筆資料。加入資料的SQL語法為InsertIntoPersonnelValues('Tom',11,37000,'男')讀取表單資料將資料存入之後,可以根據需要將其讀取。選擇
3、資料的SQL語法為SelectID,Gender,NameFromPersonnel選擇資料之後,我們還需要取得其傳回值。這裡我們使用Statement內定的方法executeQuery()來執行查詢。此方法的傳回值為ResultSet物件。更新資料更新資料庫中的資料的SQL語法為:UPDATE表單名SET欄位名=valueWHERE欄位名LIKE'value'意思是在Personnel表單中,把姓名欄為Jack的那一行之ID改為7。使用JoinTable資料庫可以連結不同的表單來得到資料,不過兩個表單之中必須要有相關連的欄位來找尋到其中的關係。查詢方式"SELECTPackage.send
4、erName,Personnel.NameFROMPackage,PersonnelWHEREPackage.ID=10andPersonnel.ID=10";PackagePersonnelID(人員編號)senderName(寄件人姓名)receiverName(收件人姓名)Fee(運費)State(目前狀況)ID(人員編號)Name(姓名)Gender(性別)Salary(薪資)PreparedStatements有的時候我們會經常使用某一個SQL指令,例如Insert或是Update,在這個狀況下我們可以使用先行定義的敘述,也就是PreparedStatements。Prepared
5、StatementinsertPackage=conn.prepareStatement("InsertIntoPackageValues(?,'Simon',?,?,'男')");這個語法有些部分使用問號代替,這些問號用來表示要輸入的數值,用setXXX()方法來將數值指定到上述的SQL語法,XXX代表資料形態,例如:insertPackage.setString(1,"Dean");insertPackage.setInt(2,22);insertPackage.setInt(3,500);接下來使用insertPackage.executeUpdate():便可以執行此insert的指
6、令。ResultSets的操作當我們取得資料庫中的資料後,會儲存在ResultSet這個物件中。儲存在這個物件中的資料,我們可以將其想像成一個資料表單,一樣是一行一行的型態。ResultSet物件允許我們在這一個表單中一行一行的移動,如此我們可以跳到我們想要的位置去查詢我們欲查詢的資料。在能夠執行這個Function之前,我們必須先加入幾個參數,如下:Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=stmt.executeQue
7、ry("SELECTID,senderName,StateFROMPackagewhereID<30");在ResultSets的表單中移動使用ResultSet物件的next()方法來將取得的資料一一列印出來,因為我們將指標訂在第一筆資料,然後一筆一筆(一行一行)往下取得資料。如果我們將指標訂在最後一行,然後往上讀取,便會得到次序顛倒的結果。我們可以使用afterLast()方法來將指標訂在最後,而使用pr