程序設(shè)計(jì)實(shí)用案例選講(袁衛(wèi)華)代碼1_第1頁
程序設(shè)計(jì)實(shí)用案例選講(袁衛(wèi)華)代碼1_第2頁
程序設(shè)計(jì)實(shí)用案例選講(袁衛(wèi)華)代碼1_第3頁
程序設(shè)計(jì)實(shí)用案例選講(袁衛(wèi)華)代碼1_第4頁
程序設(shè)計(jì)實(shí)用案例選講(袁衛(wèi)華)代碼1_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 dbtesfer.jawaimpori java.sql*impoit javaio> public class dbtes( public s目ic swing srcodegtoi(swing s) ihrows exception-swing sr=new s5.ng(sgesytes(=gb2312=)=isocjooo59,=);recrn sh一 public static swing strcode=og(suing s) throws exception(ss.ng swhiww sh.ng(s.geayes (二soocx59,=)jgb2312)return sh

2、一public static void main(s9.ng 二 args) throws exception-connechon coh statement smtunu=resu=se rs c-assforname(oom mysqljdbcdriver 二)八string dburll二 jdbcmysq<aoca一 hosrr3306、storedb 二八ss.ng dbusd-dbuser 腫 ss.ng dbpwdw 二 234=; conhjavasqldrivermanagergetconnecnon(dburldbuserclbpwd); stmthcorkcrear

3、esstemento- ss.ng name 1 hsmcodegrok -s丿世)八 swing addressl=strcodegtoi(=jh>=);siring sq-expressionlu二 insert into cusomers(nampagpaddress)=+ vames(2+namel 尢二 920x-+addressl+ stmexecuteupdlue(sq-expression 1)八string sq 一 expression2u=se 一 ecridbampagpaddress from customers. rshstmlexec=equery(sq-e

4、xpression2)- while(rsnex6)( ong idhrsgelong (二 id 二)八 string namehrs.getstring(二name-.)八 short agehrs.getshort (二 age); siring addressers, gastring (二 address.) if(namellnu 三 nameustrcodeiog(namer if(addressnnu=) addressustrcodelog(addlress)八 systemoutprinun(-idv 匚 id+二3ame=二+name+二 二+age+二 kddressh

5、 二+addressrrsclose()八simtooseo;con.cosep2 connectionprovideiviavaimport java.io-*;import java.sql.*;public class connectionproviderprivate string jdbc_driver;private string db_url;private string db_user;private string db_password;private string strs=new string4;public connectionprovider()int i=0;try

6、filereader fi-new filereader(',src/chap008/db.txth);bufferedreader br=new b ufferedreader(fr);string str;while(str=br.readlme() !=null) strsi+=str; catch(ioexception e)j dbc_dri ver=strs 0;db_url=strsl;db_user=strs2;db_password=strs 3;tryclass jdbcdriver=class.forname(jdbc_driver);drivermanager.

7、registerdriver(driver)jdbcdriver. newlnstance();catch(exception e)e.printstacktrace();)public conn ection getc onn ectio n() throws sqlexceptio nconnection con=drivermanagergetconnection(db_uii,db_user,db_passwod); return con;public static void main (string args) new connectionprovider();3 dbtester2

8、javaimport java.sql.*;public class dbtester2publie connection con;public statement stmt;public resultset rs;public connectionprovider providerl;public static string strcodegtoi(string s) throws exceptionstring str=new string (s .getbytes (,'gb2312,') , *'iso-885 9-1 *');return str;pu

9、blic static string strcodeltog(string s) throws exceptionst ring st r=new st ring (s . ge t bytes (11 iso-8859-111) , flgb2312n ); return str;publie dbtester2() throws sqlexceptionproviderl=new connectionprovidei:(); con=providerlgetconnection();stmt=concreatestatement();public void addcustomers(str

10、ing name,int age,string address)throws exception name=strcodegtoi(name);/system, out .print (11 name : f,+name);address=strcodegtoi(address);string sqlexpressionl = uinsert intocustomers (name, age, address) n + uvalues ( 1 !,+name+u 1 f !,+age+!l f 1 !l+address + u 1) 11 ;/system.out.printin(sqlexp

11、ressionl);stmtexecuteupdate(sqlexpressionl);public void deletecustomers(string name)throws exceptionrame=strcodegtoi (name);string sqlexpressionl = ndelete from customers where name= 1 h+name+!, 1 ; stmtexecuteupdate(sqlexpressionl);public void printcustomers() throws exceptionstring sqlexpression 1

12、 =11 select * from customers11;rs=stmt.executequery(sqlexpressionl);while(rsnext()long id=rs get long ( nidfl);st ring name=rs get st ring ( nname11);nane=strcodeitog (name);int age=rsgetint("age”);st ring address=rs . ge tst ring (11 address n );address=strcode!tog(address);system. out -printl

13、n (!,id=!,+id+!, , name=,+name+!, , age=n+age+!, , address=!,+address); public void closeresultset()tryif(rs!=null)rsclose ();catch(sqlexception e)eprintstacktrace ();public void closestatement()tryif(stmt!=null) stmtclose();catch(sqlexception e)e.printstacktrace ();public void closeconnection()tryi

14、f(con!=null)conclose ();catch(sqlexception e)e.printstacktrace ();public static void main(string args)throws exceptiondbtester2 database=new dbtester2(); data base . addcu st omers ("劉城",39, ” 濟(jì)南"); database.deletecustomers(”?”); database.printcustomers(); database.closeresultset(); d

15、atabase.closestatement(); databasecloseconnection();4 connectionpooi.javaimport javasql*;public interface connectionpoopublic connection getconnection()throws sqlexception;public void releaseconnection (connection con) throws sqlexception; public void close();5 connectionpoolimplljavaimport java.sql

16、.*;import java.util.*;public class connectionpoolimpl 1 implements connectionpoolprivate connectionprovider provider=new connectionprovider();private final arraylist<connection> pool=new arraylist<connection>();/連接池緩存,存放鏈接 private int poolsize=5;public connectionpoolimpl 1 ()public conne

17、ctionpoolimpl 1 (int poolsize)this.poolsize=poolsize;public connection getconnection() throws sqlexceptionsynchronized (pool)if(!pool.isempty()int last=poolsize()-1;connection con=pool.remove(last);return con;connection con=provider.getconnection();return con;public void releaseconnection(connection

18、 con) throws sqlexception synchronized (pool)int currentsize=pool.size();if(currentsize<poolsize) pool.add(con);return;trycon.close(); catch(sqlexception e)e.printstacktrace();public void finalize()close();public void close()iterator<connection> iter=pool.iterator();while(iter.hasnext() try

19、ite 匚 n ext().close();)catch(sqlexception e)e.printstacktrace();pool.clear();6. customersmanazerusin父pool.javaimport java.sql. *;import java.awt.*;import java.awt.event.*;import javax. swing.*;public class customersmanagerusingpool extends jframe implements actionlistenerjjframe f;jpanel plpmpn;jtex

20、tfield name,address,age,deletename;jtextarea result;jbutton adds,deletes,prints,selects;connectionpool pool=new connectionpoolimpl 1 ();/建立連接池connection con;public static string strcodegtoi(string str) throws exception if(str!=null)str=new string(str.getbytes(ugb2312n),miso-8859-l ”);return str;publ

21、ic static string strcodeitog(string str) throws exception) if(str!=null)str=new string(str.getbytes(,iso-8859-r,);'gb2312m);return str;public void display()throws exception)f=new jframec1客戶管理子系統(tǒng)“); pl=new jpanel();pl.setlayout(new gridlayout(3,6);jlabel label 1 =new jlabel(n客戶信息:”);pl.add(labell

22、);jlabel label 1 l=new jlabel("");pl.add(labelll);jlabel label 12=new jlabel(h");pl.add(labell2);jlabel label 13=new jlabel(,n);pl.add(labell3);jlabel label 14=new jlabel("");pl.add(labe!14);jlabel label 15=new jlabel(,n);pl.add(labell5);jlabel labe!2=new jlabel(n客戶姓名);pl.ad

23、d(label2);name=new jtextfield(12);pl.add(name);jlabel label3=new jlabel("客戶年齡:”);pl.add(label3);age=new jtextfield(4);pl.add(age);jlabel label4=new jlabel(n客戶地址:”);pl.add(label4);address 二 new jtextfield(30);pl.add(address);adds=new jbutton("添加”);adds.addactionliste ner(this);pl.add(adds);

24、prints=new jbutton(h顯示”);prints<addactionlistener(this);pl.add(prints);selects=new jbutton(u查詢 j;selects.addactionlistener(this);pl.add(selects);deletes=new jbutton("刪除”);deletes.addactionlistener(this);pl.add(deletes);jlabel label 17=new jlabel(,u);pl.add(labell7);jlabel label 18=new jlabel

25、("");pl.add(labell8);f.add(borderlayout.north,pl);result=new jtextarea(60,100);jscrollpane sp=new jscrollpane(result);f.add(borderlayout.center,sp);f.setsize(500,500);f.setvisible(true);f.setdefaultcloseoperation(jframe.exit_on_close);public void addcustomers()throws exceptionstring name i

26、 ,ages,address 1;int age 1=0;connection con=pool.getconnection();string addsqlexpression 1 =,insert into customers(name,age,address)values(?,?,?)n;preparedstatement addstmt=con.preparestatement(addsqlexpression 1);address 1 =address.gettext();name 1 =name.gettext();ages=age.gettext();result.settext(

27、h");if(!ages.equals(nn)age 1 =integer.valueof(ages).intvalue();string resultstr=*喀戶:n 姓名:u+namel+m 年齡:,+agel+u 地址:“+addressl+“己經(jīng)成功錄入到數(shù)據(jù)庫中! ”;address 1 =sti<codegtoi(address 1);name 1 =strcodegtoi(name 1);if(! name 1 .equals('m,)&&(!ages.equals(,n)&&(! address 1 .equals(n

28、'*) addstmt.setstring( 1 ,name 1);addstmt.setint(2,age 1);addstmt.setstring(3,address 1);addstmt.execute();name.settext("");age.settextc'");address.settext("");result.append(resultstr);else)result.append(hw戶信息:姓名,年齡,地址信息不能為空! ”);)addstmt.closeo;pool.releaseconnectio

29、n(con);public void deletecustomers()throws exception string delnamel;connection con=pool.getconnection();string delsqlexpression 1 =hdelete from customers where name=?,r;preparedstatement delstmt=con.preparestatement(delsqlexpression 1);result. settext(”);delname 1 =name.gettext();string resultstr=*

30、喀戶姓名為:”+delnamel+”的客戶已經(jīng)從數(shù)據(jù)庫中刪除“;delname 1 =sti<zodegtoi(delnamel);delstmt.setstring(l,delname 1);/delstmt.execute();int m=delstmt.executeupdate();string resultnum=hn 一共刪除了”+m+“個(gè)客戶信息”;result.append(resultstr);result.append(resultnum);delstmt.close();poolreleaseconnection(con);public void printcust

31、omers() throws exceptionconnection con=pool.getconnection();statement stmt=con.createstatement();resultset rs=null;result.settext(m");string sqlexpression 1 =uselect * from customers11;rs=stmt.executequery(sqlexpression 1);while(rs.next()long id=rs.getlong(hidh);string name=rs.getstring(hnamen)

32、;name=strcodeitog(name);int age=rs.getlnt(nagen);string address=rs.getstring(naddressh);address=strcodeitog(address);string str=hid=h+id+u ,name=h+name+h ,age=n+age+h 5address=n+address;result.append(str); result.append(nnu);rs.close();stmt.close();pool.releaseconnection(con);public void selectcusto

33、mers()throws exceptionstring name 1,ages,address 1;string name2,ages2,address2;int age 1=0;string selectsexpression=uselect * from customers where 1=1”;connection con=pool.getconnection();statement stmt=con.createstatement();resultset rs=null;result.settext("");name2=name.gettext();ages2=age.gettext();result.settext("");if(!ages2.equals(',h)agel=intege 匚 v alueof(ages2).intvalue();address2=address.gettext();address 1 =strcodegtoi(address2);name 1 =strcodegtoi( name2);if(!name2.equals(,m')selec

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論