ࡱ> E@ K<bjbj (b/u( RRRf@@@8A<BATfWA(A"A:&B&BDH IUWWWWWWWWWWWWW$XR[{WR'JD@D'J'J{W&B&BW9T9T9T'JR&BR&BUW9T'JUW9T9TWTV0"R%W&BA 00xivv@PVUWW0WV,[S([%Wff[R%W0'J'J9T'J'J'J'J'J{W{Wff$#DT"ff#Using Java to Manage a Database Applications usually get their data from a database rather than from text files. A relational database consists of one or more tables each of which is made up of rows and columns. Both rows and columns are numbered beginning with one. Each row defines the information for a single object. The columns then are the fields of the object. The following is an example of a database for an address book that has a table, called AddressTable. It is contained in an Access database called addresses.mdb. Each persons address is contained in a separate row. The field names here are Name, Email, and Telephone. All the data in this example are of type text, strings.  The Database Connection To connect to a database using a Java program, you must first register the database with the operating system so that it can find the data source. The connection is done with a jdbc-odbc bridge. Jdbc stands for Java database connectivity API (application programming interface), while the O in Odbc stands for Open. Odbc is a protocol from Microsoft that is based on the X/Open SQL specification. In a Java program, we create a Connection object. The lines of code required are: Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection ("jdbc:odbc:addresses"); where addresses is the data source name used for the database in the registration information. Both the Connection and DriverManager objects are contained in the Java package, java.sql. This package is a standard part of JDK and so does not have to be downloaded separately. But it must be imported into any program that connects to a database. SQL Queries SQL stands for Structured Query Language and is usually pronounced sequel. SQL is the standard way to interact with relational databases and is not part of Java. SQL is not case sensitive, so you can mix upper and lower cases, but commands traditionally use upper case. In these examples, all commands begin with an upper case letter. Some examples of commands are Select, Insert, Delete, and Update. You can also modify commands by using connectors such as Where or Set. The Select Query Select is used to obtain information from a database table. For example, "Select * From AddressTable" will get all (*) the data from the table, AddressTable. If you do not want all the data, you can add a clause that will further define the rows needed. This is done with the modifier, Where. For example, if you just want the names that begin with the letter A, you can use the query "Select * From AddressTable Where Name Like 'A%'" The 'A%' combination is used to indicate a pattern that begins with the letter A. Note the single quotes. SQL queries can also use =, <>, >, <, >=, <=, or Between as well as Like. For Between you must specify a range. The query "Select * From AddressTable Where Name Between 'A%' And 'C%'" returns the first two entries in the table. Statements and ResultSets When sending a query to a database from a program, you first create a Statement object for the query, and then you execute it. If the database is able to execute the query, it returns a ResultSet with the data. A query that returns all the data in the AddressTable uses the following code: Statement stmt = con.createStatement (); String query = "Select * From AddressTable"; ResultSet rs = stmt.executeQuery (query); The result set consists of a sequence of rows. It has a cursor that is initially set to zero, not a valid row in a table. The method, rs.next (), is used to move the cursor to the next row in the set. In addition it returns a boolean value. If the result set is empty, this value will be false, otherwise it returns true. Because it returns a boolean, it can be used as the condition for a while or an if statement. The particular fields in the row can be obtained using get methods (accessor methods). Since all the items in this database are strings, the get method used here is getString. Other data types can be stored in a database too, so there are getXXX () statements for them as well. For example, if the data in the column are integers, a getInt() method is used. Example Program that Displays the Entire Table The following program displays the whole table. This is only reasonable if the table does not contain very much data. It throws a SQLException and a ClassNotFoundException. The first is thrown if there is a problem in accessing the database. The second is thrown if there is a problem getting the connection driver. This would happen if the driver class could not be found. // Addresses is a Java application that gets data from a database and displays it on the screen. import java.sql.*; public class Addresses { public static void main (String [] args) { try { // Get a connection to the database. Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection ("jdbc:odbc:addresses"); // Create a statement and a query. Statement stmt = con.createStatement (); String query = "Select * From AddressTable"; // Execute the query and retrieve a ResultSet. ResultSet rs = stmt.executeQuery (query); System.out.println ("Address Table Results"); // Display the data in the ResultSet. while (rs.next ()) { System.out.println (); System.out.println ("Name: " + rs.getString ("Name") ); System.out.println ("Email: " + rs.getString ("Email")); System.out.println ("Telephone: " + rs.getString ("Telephone")); } con.close (); // Close the connection to the database. } catch (SQLException e) {System.out.println ("SQL Exception");} catch (ClassNotFoundException e) {System.out.println ("Driver not found");} } // main } // Addresses Finding a Name in the Table The Where modifier can be used to find an email address given a name in a database table. If the name occurs only once in the table, the result set will just contain that row. However, if there are several rows with the same name, the result set will include all of them. If the name is stored in a variable in the program, it must be surrounded by quotation marks in the query string. The entire string must also be contained in quotation marks. The easiest way to include the quotes surrounding the variable is to use single quotes inside of the double quotes. Since these are difficult to see in the document, boldface has been used for them. The resulting query string is "Select * From AddressTable Where Name = '" + name + "'" Note the extra single quote at the end. The program also uses the Scanner class that is included with Java 1.5. import java.sql.*; import java.util.Scanner; /* FindEmail is used to find an email address for a person in a database. It finds the name and then displays the person's email address. */ public class FindEmail { static Scanner keyboard = new Scanner (System.in); public static void main (String [] args) { try { System.out.print ("Whose email address do you want to find? "); String name = keyboard.nextLine (); // Get a jdbc-odbc bridge and connect to addresses.mdb. Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection ("jdbc:odbc:addresses"); // Create a statement and execute the query. Statement stmt = con.createStatement (); String query = "Select * From AddressTable Where Name = '" + name + "'"; ResultSet rs = stmt.executeQuery (query); // If the query returns a result, the ResultSet will be non-void. if (rs.next ()) { String email = rs.getString ("Email"); System.out.println ("The email address for " + name + " is " + email); } else System.out.println ("The name was not found in the database."); } catch (ClassNotFoundException e){System.out.println ("Class Not Found exception.\n");} catch (SQLException e){System.out.println ("SQL Exception");} } // main } // FindEmail A Table with Integer and Double Data The preceding example has a table with text data only. The following example contains a column that stores integers and one that stores doubles. The table contains data that a grocery store might have with information about some fruit that it sells. It has fields for the products id, name, quantity in stock, and price per pound. The id and name fields are text. The quantity field is an Integer and the price field is Currency. A sample table is shown below.  SHAPE \* MERGEFORMAT  Java, like other languages, must translate the types given by the database into its own datatypes. Integer in Access is interpreted as int by Java and Currency as double. So to retrieve data in the quantity field use rs.getInt ("quantity") and for the price field use rs.getDouble ("price"). A program that prompts for the name of a fruit and then returns the data in the row follows: // FindFruit is used to find the quantity and price of fruit in the table, fruit. import java.util.Scanner; import java.sql.*; public class FindFruit { static Scanner keyboard = new Scanner (System.in); public static void main (String [] args) { try { System.out.print ("What fruit do you want to find? "); String name = keyboard.nextLine (); // Get a jdbc-odbc bridge and connect to grocery.mdb. Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection ("jdbc:odbc:grocery"); // Create a statement and execute the query. Statement stmt = con.createStatement (); String query = "Select * From fruit Where Name = '" + name + "'"; // If the query returns a result, the ResultSet will be non-empty. ResultSet rs = stmt.executeQuery (query); if (rs.next ()) { System.out.println ("ID: " + rs.getString ("id")); System.out.println ("Name: " + name); System.out.println ("Quantity: " + rs.getInt ("quantity")); System.out.println ("Price: $" + rs.getDouble ("price")); } else System.out.println ("The name was not found in the table."); } catch (ClassNotFoundException e){System.out.println ("Class Not Found exception.\n");} catch (SQLException e){System.out.println ("SQL Exception");} } // main } // FindFruit Queries with Non-String Keys If we want to find all the fruit that have a quantity greater than some set amount, the quotes around the parameter are not required. Quotes around parameters are only used for strings. "Select * From fruit Where Quantity >= " + amount This query returns the data for Apples and Bananas when the amount entered is 20. Note the greater than or equal sign. // FindQuantity is used to find all entries with a quantity larger than some amount read in. import java.util.Scanner; import java.sql.*; public class FindQuantity { static Scanner keyboard = new Scanner (System.in); public static void main (String [] args) { try { System.out.print ("Enter the amount for the lower limit: "); int amount = keyboard.nextInt (); // Get a jdbc-odbc bridge and connect to grocery.mdb. Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection ("jdbc:odbc:grocery"); // Create a statement and execute the query. Statement stmt = con.createStatement (); String query = "Select * From fruit Where Quantity >= " + amount; // If the query returns a result, the ResultSet will be non-empty. ResultSet rs = stmt.executeQuery (query); while (rs.next ()) { System.out.println ("ID: " + rs.getString ("id")); System.out.println ("Name: " + rs.getString ("name")); System.out.println ("Quantity: " + rs.getInt ("quantity")); System.out.println ("Price: $" + rs.getDouble ("price")); } } catch (ClassNotFoundException e){System.out.println ("Class Not Found exception.\n");} catch (SQLException e){System.out.println ("SQL Exception");} } // main } // FindQuantity References Susan Anderson-Freed, Weaving a Website, Prentice Hall, 2002 Karl Moss, Java Servlets Developers Guide, McGraw-Hill/Osborne, 2002. W3Schools Online Web Tutorials,  HYPERLINK "http://www.w3schools.com" http://www.w3schools.com.  Access is part of Microsofts Office suite of programs. It is in the Professional edition.  To connect to the database using a Java program, you must first register the database with the operating system. In Windows 98 this is done by clicking on Settings/Control Panel/Data Sources (ODBC). In Windows 2000 or XP, you will find this same file in Settings/Control Panel/Administrative Tools. Select Add/Microsoft Access Driver (*.mdb), and from there Browse to find the location of your database.  For more information about SQL see the W3Schools web site,  HYPERLINK "http://w3schools.com" http://w3schools.com.  See  HYPERLINK "http://www.w3schools.com" http://www.w3schools.com for more details.  Java version 1.5 is available from Sun Microsystems at  HYPERLINK "http://java.sun.com/j2se/1.5.0/download.jsp" http://java.sun.com/j2se/1.5.0/download.jsp. It is also in the documents folder on my website.  In Access, the Number field can be changed by first clicking on the default, Long Integer, and then clicking on the drop down menu on the right. From that menu you can choose byte, integer, double, etc. PAGE  PAGE 1    !  y z L U VԾzzzmfSm$jh 30JB*CJUaJph h`h 3h 36CJOJQJ]h 36CJaJjh 30JCJUaJh 3CJaJh 36CJOJQJ^JaJ+jh 3B*CJUaJmHnHphu*jhh 30JB*CJUaJphh 36B*CJaJphh 3B*CJaJphh 3h 3CJOJQJ^JaJ !w x { | F `gd 3gd 3 gd 3gd 3$a$gd 37*<C<J< )\FJuvgd 3gd 3VZ`dGa SV1豭虭v譙h*h 3CJaJh*h 36CJaJha{h 36CJaJh 36CJOJQJ] h`h 3h 3h^Jh 3CJaJjh 30JCJUaJh 3B*CJaJphh 36CJaJh 35CJaJh 3CJaJh`h 36CJOJQJ]+12QP~ "( Px 4 #\'*.25@9gd 3gd 3145>ITO&,./2HJZ OS!!!!!!+","."δΩΏjh 30JCJUaJh%h 35CJaJh1h 3CJaJh 36CJaJh 3h 36CJOJQJ]h 3CJaJh#~eh 3CJaJ h>h 3CJOJQJ^JaJh 3CJOJQJ^JaJ5K O!!!/"0"C"]"^""##9#c#gd 3gd 3."/"0"C"["G'I'n'))D)E)\)])^)_)`)=*S*p*v*|*****--00;00+1111124466ynnnnhw+h 3CJaJh~h 3CJaJh(h 3CJaJh-h 3CJaJjh}h 3CJUaJ"jh 3CJUaJmHnHujh 3CJUaJjh 30JCJUaJh 36CJOJQJ]h&~Uh 3CJaJh 3CJaJh*h 3CJaJ)c#f#l#p####$L$$$$$C%p%q%%%%%D&I&&&.'9'H'I'n'gd 3gd 3n'o'D)a)b)****9+S+f+g+~++++++++',N,R,,,- -;-g-gd 3g----#.6.;.r...//d//0000;0<00,11122/202J2gd 3gd 3J2L222222223"3[3333 474|4444 55E55556^66gd 3666666 7P77789)::Z;)<*<3<4<5<@<A<B<C<E< &`#$gdXrLgd 3 & F h^hgd 3gd 366666737p7q77777777777788888889C9L9q999999ϰ䥛xmamamamamhr h 35CJaJhr h 3CJaJh 3B*CJaJphh 3B*phhAh 3B*phh 3jh 30JUh 3h 3CJaJhxh 30JCJaJ#jhxh 3CJUaJjh 3CJUaJh 36CJaJh 3CJaJhc/|h 35CJaJh~6CJaJ#99:::&:':):*:/:0:V:W:X:p:q::::::::$;%;Y;Z;[;)<*<+<1<2<3<4<5<6<<<=<><?<@<A<C<D<󢘒󢘒yqjvh 3Ujh 30JU*h 30JmHnHu* h 30Jjh 30JUhXrL h`h 3h`h 30Jjh 3Uh~h 30Jjh 3Ujh 30JUhh 30Jjkh 3Uh 3jh 3U,E<F<H<I<J<K<gd 3D<F<G<H<I<J<K<h 3h 3CJaJhXrL hhQh 3j#hhQh 3Uh 3&1h:p 3/ =!"8#$%Dd GD  3 @@"?DyK http://www.w3schools.comyK 4http://www.w3schools.com/DyK yK ,http://w3schools.com/DyK yK 4http://www.w3schools.com/DyK yK Xhttp://java.sun.com/j2se/1.5.0/download.jsp Dd )MM0  # A"b;̕M"w+,&h@=`b;̕M"w+,&z(l.x흇}#4$ RTDD@ *I_`aKe^D) h-Qw<)s< s;s -ɮ"l$(%3X}>u؍EAK_ʾIe7,} +vH`vCѧdvKt35~`WZJg+2>]9kԓ쇸dtȽbk~ߘZSԧgGp3&{v.W{K!v[^~n+e]/y]5vqz}X"1e)2e g?daľn EƇ݈T*.ZDٕ̎C \BOEa{(Q؅mB?`6M҃]&Uv7XAM'ﮂaOeI 6hW mB?gM( 6ƻM" ۄ~.6yUM'b>3lMvaOn񜎄g I]w3bz 3E vԇX1vJb=ؗab^X6ǦzN+sGps{ϽaGMpo/=7m~d^B+3C"wX6 vaOM( dn$z~e n|]w&E`]Dpnef r{g:εt܃^:8|f?yچGQ7&)Cn}/K]a:6z ~ٍtk(g7 1b7c`f*BYq#|ђٕxRK"P 14)Bbb7E]Oؕ- 1sfMW:wDvEi9WE) RJ`vx8GcS,Qtb$7OUFRbfo'*)%c}m]sT?6B^~P =)bI"^92@F֜Y{4_P~. ݔ)T+WJ]҅IgWys{HaWt= 08+1BhBhw/fB !؅mB?`68 @E u3 +*Y}]wnHI/v.؍m*>ݫ>ؽ XtGb!*9S@%Xb, ʧqh+w 9O®ƧRnmz!M<*43 =b]nad]KagR cc:Y]ܰ*"~7żx0D^D^NyETiBM||cfbD"3 )6슮_䲛m]uvSKa(wckuv)y=vK,+vEdyfv0yf]%٥0yfF U!dZD7w>TfP(PKt"ח]5ڢY CK\éK($]L ؕFJaR[}nqƅz1 @.l` Ĉď>aO5 H$Yb,i ۄ~x]4]&vˮ[5|z]^ئ_CH: ZEZi!e~'83K)d~Ě][lm)6vrO]*+]b71~W]cfQjQ]rutkuuSvgDfv?EML$Y]؅WsU*,j.g%*9CwВ<3W{B@o%}wye )ZN$ fv)D vnf]xWW!:k9vahЏ.vQ7C@?Џ~B  ]Yg -n7H[t 7xSJf+30-uCVun.;mC>ۇVM^;cX;Ukcw׸;#jvDߍ|l=j3>E=]dKu:Yԡ-~lcN ujs]-xE+=[M{3?9󳝳>{}vmo|ܿŞ/~o|W~}79̶K=#K{k?.qNxrՏ'WNڟYuYywmx`] vnY'o!K) vn"MRuYUh{oa{ ݤ+3^[ٵ?Jݽ`:ͮbŮcɮ`gױɮŮ}]k]ǧ:XZ ZkZ:>dױbZulvCd=S.ewص,fZK?[Zkص^Z~we;ւ%k]Zvvݘ˾][~3wWd]fs,.,B[Z]Ev332bf6]ZصwsUwn:W%wUƻ\YŮgߕUY:rU1Zyf\xw

=;~e1iسvR3]1']F$;eǮD_x~uZovea뗊dN`Ɣ]GH;(:˞ɲb7Pcf `ۇeWZ"wO'`.^+:,N.ҹ*vr]]7*슎wU.]Y2:]푳yf{@63=4w#.ZrUܤ̌o\US17s3HJ̫Wv.`}>}Sq>u؍TkA]44+@ ]SP ۄ~.؅mB?gM'roaOTe]6˸ mB?fׯ ۄ~"Ϯ]P0l߅mB?waE ē]\߅mB?1d`O |f&va'(v%6E u39 +;;ff/?`]]`7bfz>;ֱ/<˽L]mrM;Vv{9Î=̯<7^ U{yffxl-1<3{fwhΟw?EqsUYwS9h^h$a=eK$%%.q|kD`7D|:3iv.E;a-2s35ʔ}nFĽV9fDB?؅mB?`6Q&l&vQ7A H 7]M. 9X%J;*O;ukĹtq{q)~#z.c/J яoLS\ ^7f };*"ull7L?,(!Q;n*#bnF/6T0WaUDny3(,DKaV )D3܋҄-@XĈD4fRlL]ϵ7nuy ve7ƻtPrRzD %#>UXL#V$ a,̺JKa%̌*ArCȴn8}*͠Q.b7E/' 7jEDSaQH+P bqcBg]&v.l}6$k@ I1ĎYҠGQ?` hMƗ]^kJǻ2cM6 0բ+ke0ψh3+,):3`H18 qTFuY>>\JvUr%yyfon}/ݷB~nWVf@>`[=x렇nͭ*e?\vpۆT}#jw=zǰw~ʯqw~ͻGZ~?{Fվgt?yܘ:ֽwlջo\?/_S~|'40a*NlTiRJ9͖m ya됶ۆݖvۇ1;_9#;Q1lq؎{v;ނw7 ]Ov`b9=NyhjCz׎0[f=:llNs;yO:Q{r~O-rjECO彳(ag?d٥.3ۈsG[1O+F_9|ǼjǾfܟ\X[paM`7Lpä']4MS><-Sl>6}Ƨ;f~sg;g}2ۜߘ3=_-r/-j,@o}sp?m񷇗|{dwG~ֲ][f[?(O?^?3~9v.`&ݠNrBfR0DJ#벪r".IeW(g$ܷk{t]Ůz]J]kήc]K];;O3uص-vٵָٵu|ɮcŮl.{]S 2.k-X~7ͮ`]?v~~_ߵk]Zvv?Kdzi]ߵZ 1e}7~f:$vrٵ~13Y]vYǻ%bӵƻf ff3elv3g2wuk:ص窬5\tJ戴wӹ* v]9<+ucfߵB*Zyf\bfn ynQ]׈~7}w׈J\#b5"M_#kDfvv݇v v]kDZnIKߥ`7AyUWyU{n6K2Qvv%`@ vn좡ų Z E \$.r5q?QpeٔGJo6[Rrzw[[J8 !Dd =0  # A"KZYk,pbz'=@=ZYk,pbzLkf4xO~ۙȼ$cxY\h.8PxapbD YE\$ 2G2ÝDn]-.]df7˓U}4oONW@$Mҁ$ǒg6I$ϓ?K=eYx7=?S|_& $?͙_~=_-=~ E:_$DzՇ%H&&;>#Oyh>J_'GmF$!BsFPBqn\ڊ`d(clg2)dUιv$}*Vϡ dzD~n[?.ZR&l)#?M' p{?;sQ9c/5ʅL&jOh}MK&lG\#\zr#_Dwaza|fZK C^3sY\)s3qоWݟZ,MTq|U3u9gț(/ŃsY8:\8K!Cz(с nVKɵpOs=\]79^na㹮i<zCX嗟#ksКk-o \ 8 W?uo퓟k)?x F9[jysC91Np 11!8scTmֶnMέğC}ȹ1h "8Bq[!C9s!B!C!8Bp!yO|9BD9編DXږ~8QNsprϐے0Zsc3!;N?ϯ(̹֛cRBg0H9!wleSiOh}8g3&z\1BJ=?pDqN:8G=?pN"6YiNL!8go 8V~nʜ#?G=?p.hJ=?pΑs1~zH ^* 3zhV)?pQNs~-rM9?g"c=a nc YN-#3)vz~3 s>Ppiq3Jcn91q\zLu}G}x bZh}u)t0`]ߙp-.Eǹ[-yvK i1Y~Ϥ:*]O؝X M09/ͯݪKr\@v+.ěs8.h[냺qb[؜s8zP>8 ùؒsqnuy_c"8"ٔS&9F0Es= !?98G=?'췼\ױ-vh'Z*zz.~fii}V?H̾ۗ{}ٟc?j 9{uԕ6#f:IsmU+ǥnBl3]P'Ti n d{bLxD+v/Ա2dUa^%LS$Nsԝw}7J9P'TJ5n=Uۅ-w{ݝVؓ'[-2kޫ9^遷#{eG9 m9?g;H9s9 `\dx:ު.SoSB:s &4~g~N;D9sϑ뗟s?瑟k~99?'lsϭ>?7d$i2Bnv~51V:~Νso%?G~4CZEsߺޜAdzX9s?sϑ l9 }t sllllA#BޝAfB>>$_BO˭O%&ɹt_#RiFKSXK>>*QzkҹC2٣ܸ]%B(l% w G-9P=!F P - BQƜٔ5kis9ɒyn[?. susn%@hk(4 "ӟ3>/1Wr:Y8X~FЖ|߄C i)ڄnr.@ʑs/0WްU>s%!/Ι@e9oi;, 89gGs߅в8gi✩K9{GD9|)¹9^ Cq\8v=4hZJs}Y}lx/m7\4s=!,5Qׇs]s}9ghϵ7SIsp L~n֫5锟Khs]sCxo9!Ј w'Lsp}i*6kD&Vϡ B4s8ǭB!B9s!B!C!8s 'Q>!V[Tbky,mK(98G9?gm@s 91x'^ ̓ \1)c3l$;k6ﲩ '>kaBJ=?p.YL!8g8E8'rW,w'R7Q +?7eΑ84o8ȹi?G=?KD$[zㄙA=?ga~+8(99Φ3α0Biرsxns,\pQ~VMs=a?Ι t(8rjO4}Q֙a1pcK8f.TtW=N؃s>ǣďqru}K>s<^sR1y_l4ru:0pa1p\؜T\|F8gons]*.LP{ܰ)NdsLevCr%J#?&D8Kk4 5V87k+>E9wy͑qnq\I \=\V^sϴMsㄵyq0WjXOث3zOsS(s'b=aڭC~rៀz–DM+LQN[ཀp˄ '1q–Y:ϲ# VاH1k"]j ;ܨ纞0Js3{I-vœP8X\L8Dڭ<˥K?gnf'N&͜nRߥL9. Lxn ͹Ng sۭlpA8g臀s-lyܹkjksKl\lɹ8 V:¼/1?QNsprOlkl)? #XOv"9ϞxspzG[^ST-_iJ=' ZN?<\1Yur$p1 rޗK9 q=a+f=a=bsA]MuNsX݃s#_.9 vŝp¹vl{s\.9 T[]1qiÚP+9܀\ r=P#^O[㜽h f͹Ngdk9 ?p.u*Qs.K\< kk}+ùY{3Nx(VPz.*+XOzOsSZ8rD8Mm[b㉑P9iI_|iWZfYL.s8'Er2)lO3Wm*=.r/$˯wrD9{5m}r8ܯL`8uCsp?;Q XY]Ռ 'nUU78=納5-Bι9rn)#8'vksspnY=Қ^-?L~C"[#\gl9&(/ M9[;/8G9?pM \0?'LQ!sS" ꟎CdB#B(9,vj?)њ]/Ҟ93Ҟ=ld{r\i}rW^fU}wg_~6~K-w|s9{,{_v/.VJiًZګt^'7REfo7OdMionf;sfS[[}~aK#kkd+]e_^V}ݖzN~3~K[i726dQaslqiv?w O>ٟ^~f_˽¾O1✊:JnB9*ԕ UNUwUP}ZXu=} ߿~QAUQWukW*d*ػYNe+Ix5՜vVl3½V# 7v+ ]u/J/E95;bꐫ"cr$wPDr[}"9 oHn 'M[4ޤH\lHm\ t"9*]iHN \o_ɑ*b"=#ުH6kmC$w}kQ]#R`mGMv}nS)x[%{lj"f<'"HnOsQ{ι0iFr5QW4`kcx;cJ5Dr ʑ%;idY"x6]P "6`+P<6`7x<{Gm>7)ܽjjk$!{`i"Vtݗ+e{@>x~ƹ+ϑ#?ȱ?dsr\vs+Ȕmb'8.sőF~8.OGQ]N99s}s2 ? ,%r=+VcO olőF~NpN%呜;is;s 9R&Ι[Y<'nk\ɹDЦba%sj ϑ#?7`~ί9*ˏ9D~N`xSϑ#?\ν2ߣy6\s{~Nsy$G~as0 rԉF2k^Cbǟ,>X?w@`@ 3NormalCJ_HaJmH sH tH Z`Z 3 Heading 1$<@&5CJ KH OJQJ\^JaJ \`\ 3 Heading 2$<@& 56CJOJQJ\]^JaJDA@D Default Paragraph FontViV  Table Normal :V 44 la (k(No List >`>  3 Footnote TextCJaJ@&`@  3Footnote ReferenceH*6U`6 3 Hyperlink >*B*phe`" 3HTML Preformatted7 2( Px 4 #\'*.25@9CJOJQJ^JaJ4 @24 3Footer  !.)@A. 3 Page Numbery +!K4`ttwK4 K4b !wx{|F ) \ F  J u v 12QP~K O/0C]^9cflpLCpqDI.9HInoD!a!b!""""9#S#f#g#~########'$N$R$$$% %;%g%%%%#&6&;&r&&&''d''((((;(<((,)))**/*0*J*L********+"+[++++ ,7,|,,,, --E----.^....... /P///01)22Z3)4*4344454@4A4B4C4E4F4H4I4L40000000000000000000000000000000000000000000 0 0 0 0 0 0 0 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I00(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0( 0( 0( 0(0(@0@0@0@0@0 @00&O@0z00z00@0@0z000@0@@00@@00p !wx{|F ) \ F  J u v 12QP~K O/0C]^9cflpLCpqDI.9HInoD!a!b!""""9#S#f#g#~########'$N$R$$$% %;%g%%%%#&6&;&r&&&''d''((((;(<((,)))**/*0*J*L********+"+[++++ ,7,|,,,, --E----.^......P///01)22Z3L4 @0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0 @0 @0 @0 @0 @0 @0 @0 @0 @0 @0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0T@0@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0(@0T@0T@ 0T@ 0T 0r Oy004 Oy00Oy00JG:X 88 Oy00 0o 1."69D<K<#%'-.0c#n'g-J26E<K< "$&()*+,/J<!D!\!_!p///K4_X !!8\qzCowXXX8@B(  X  S z 3  s"*?`  c $X99? S zT  # b S  H  #  B S  ?]!K4kt  t! _Toc105478169 _Toc100658284 _Toc100658988 _Toc105477992 _Toc105478170 _Toc100658285 _Toc100658989 _Toc105477993 _Toc105478171 _Toc100658286 _Toc100658990 _Toc105477994 _Toc105478172 _Toc100658287 _Toc100658991 _Toc105477995 _Toc105478173 _Toc100658288 _Toc100658992 _Toc105477996 _Toc105478174 _Toc100658289 _Toc100658993 _Toc105477997 _Toc105478175 _Toc100658290 _Toc100658994 _Toc105477998 _Toc105478176 _Toc100658291 _Toc100658995 _Toc105477999 _Toc105478177 IIII((((L4   mmmm:(:(:(:(L4*.,/B 5 A 9 E V b   ; G U W Z k `h lr:FMc!.1Me]_bs %2>Oao{#(:ZpuJ[aj-6]as),H`{~$PRUfQc>G!!!!="F"p"|"""@#Q#t#}######$8$I$^$g$$$$$$$$%O%b%&&&&*&1&?&Q&\&h&v&&&&&&&&' '''9'o''''''''(()) **=*I*t*}******* ++.+7+^+k+n++++++,2,,,,,,--$-/-;-I-[-h-t---------.$.(.:.i.u.y..../k1n1*4B4C4L43BFK    n u [bls$+FIKMSX06CI :@hk$)LP""9#?#S#Y#g#m#######$%%%%%&&(&"'&'''''))***"*0*6*M*S*******++++S,W,,,&.(.b.g./*4B4C4L4333333333333333333333333333333333333333333333333333333333333333./*454?4L4/*4B4C4L4 Carol Wolf{'[8h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.{'[         .}0 3XrL:~6@ K4`@UnknownG: Times New Roman5Symbol3& : Arial?5 z Courier New"qhުFખF(V(V!24//3QH)?:Using Java to Manage a Database Carol Wolf Carol Wolf Oh+'0 ( D P \hpx Using Java to Manage a Databasesin Carol WolftaroaroNormalo Carol Wolft1roMicrosoft Word 10.0@F#@ *vv@]vv(՜.+,D՜.+,X hp  Pace UniversityV/  Using Java to Manage a Database Title 8@ _PID_HLINKSABUhttp://www.w3schools.com/c",http://java.sun.com/j2se/1.5.0/download.jspBUhttp://www.w3schools.com/Uhttp://w3schools.com/  !"#$%&'()*+,-./013456789:;<=>?@ABCDEFGHIJKLMNOPQRSUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry FivvData 2UC1TableT[WordDocument(bSummaryInformation(DocumentSummaryInformation8CompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q