第十五章Java数据库连接(JDBC)
例子1
importjava.sql.;
publicclassExample15_1
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
Statementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione)
{System.out.println(""+e);
}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
rs=sql.executeQuery("SELECTFROMchengjibiao");
while(rs.next())
{Stringnumber=rs.getString(1);
Stringname=rs.getString(2);
Stringdate=rs.getString(3);
intmath=rs.getInt("math");
intenglish=rs.getInt("english");
System.out.print("学号:"+number);
System.out.print("姓名:"+name);
System.out.print("出生:"+date);
System.out.print("数学:"+math);
System.out.println("英语:"+english);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子2
importjava.sql.;
publicclassExample15_2
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
Statementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
rs=sql.executeQuery("SELECTname,englishFROMchengjibiaoWHEREenglish>=80");
while(rs.next())
{Stringname=rs.getString(1);
intenglish=rs.getInt("english");
System.out.print("姓名:"+name);
System.out.println("英语:"+english);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子3
importjava.sql.;
publicclassExample15_3
{publicstaticvoidmain(Stringargs[])
{Connectioncon;Statementsql;ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione)
{System.out.println(""+e);
}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECTname,englishFROMchengjibiao");
rs.last();
intnumber=rs.getRow();
System.out.println("该表共有"+number+"条记录");
rs.afterLast();
while(rs.previous())
{Stringname=rs.getString("name");
intenglish=rs.getInt("english");
System.out.print("姓名:"+name);
System.out.println("英语:"+english);
}
System.out.println("单独输出第5条记录:");
rs.absolute(5);
Stringname=rs.getString("name");
intenglish=rs.getInt("english");
System.out.print("姓名:"+name);
System.out.println("英语:"+english);
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子4
importjava.sql.;
publicclassExample15_4
{publicstaticvoidmain(Stringargs[])
{Connectioncon;Statementsql;ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
Stringcondition="SELECTname,englishFROMchengjibiaoORDERBYenglish";
rs=sql.executeQuery(condition);
while(rs.next())
{Stringname=rs.getString(1);
intenglish=rs.getInt(2);
System.out.print("姓名:"+name);
System.out.println("英语:"+english);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子5
importjava.sql.;
publicclassExample15_5
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
Statementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
rs=sql.executeQuery("SELECTname,mathFROMchengjibiaoWHEREnameLIKE''%小%''");
while(rs.next())
{Stringname=rs.getString(1);
intmath=rs.getInt(2);
System.out.print("姓名:"+name);
System.out.println("数学:"+math);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子6
importjava.sql.;
importjava.util.LinkedList;
publicclassExample15_6
{publicstaticvoidmain(Stringargs[])
{LinkedListlist=newLinkedList();
Connectioncon;
Statementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECTname,mathFROMchengjibiao");
rs.last();
intlownumber=rs.getRow();
intnumber=lownumber;
for(inti=1;i<=number;i++)
{list.add(newInteger(i));
}
doublesum=0;
intk=4;
int抽取数目=k;
while(k>0)
{inti=(int)(Math.random()list.size());
intindex=((Integer)list.get(i)).intValue();
rs.absolute(index);
System.out.print("姓名:"+rs.getString(1));
System.out.println("数学:"+rs.getString(2));
intmath=rs.getInt("math");
sum=sum+math;
k--;
list.remove(i);
}
System.out.println("抽样的数学平均成绩:"+sum/抽取数目);
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子7
importjava.sql.;
publicclassExample15_7
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
Statementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.createStatement();
intmath=99,english=0;
Stringnumber="2003001",date,name,recode,updateStr,insertStr,delStr;
updateStr=
"UPDATEchengjibiaoSETmath="+math+"WHEREnumber="+"''"+number+"''";
math=92;
english=66;
number="2003039";
name="周王";
date="1999-12-28";
recode="("+"''"+number+"''"+","+"''"+name+"''"+","+"''"+date+"''"+","+math+","+english+")";
insertStr="INSERTINTOchengjibiaoVALUES"+recode;
delStr="DELETEFROMchengjibiaoWHEREnumber=''2003004''";
sql.executeUpdate(updateStr);
sql.executeUpdate(insertStr);
sql.executeUpdate(delStr);
rs=sql.executeQuery("SELECTFROMchengjibiao");
while(rs.next())
{number=rs.getString(1);
name=rs.getString(2);
date=rs.getString(3);
math=rs.getInt("math");
english=rs.getInt("english");
System.out.print("学号:"+number);
System.out.print("姓名:"+name);
System.out.print("出生:"+date);
System.out.print("数学:"+math);
System.out.println("英语:"+english);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子8
importjava.sql.;
publicclassExample15_8
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
PreparedStatementsql;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione)
{System.out.println(""+e);
}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.prepareStatement("SELECTFROMchengjibiao");//预处理语句
rs=sql.executeQuery();
while(rs.next())
{Stringnumber=rs.getString(1);
Stringname=rs.getString(2);
System.out.print("学号:"+number);
System.out.println("姓名:"+name);
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子9
importjava.sql.;
publicclassExample15_9
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
PreparedStatementsqlOne,sqlTwo,sqlThree;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sqlOne=
con.prepareStatement("UPDATEchengjibiaoSETmath=?WHEREnumber=?");
sqlOne.setInt(1,100);
sqlOne.setString(2,"2003001");
sqlOne.executeUpdate();
sqlOne.setInt(1,99);
sqlOne.setString(2,"2003002");
sqlOne.executeUpdate();
sqlTwo=
con.prepareStatement("INSERTINTOchengjibiaoVALUES(?,?,?,?,?)");
sqlTwo.setString(1,"2003888");
sqlTwo.setString(2,"李向阳");
sqlTwo.setString(3,"1919-05-04");
sqlTwo.setInt(4,99);
sqlTwo.setInt(5,88);
sqlTwo.executeUpdate();
sqlThree=con.prepareStatement
("SELECTnumber,math,englishFROMchengjibiaoWHEREenglish>=?ANDmath>=?");
sqlThree.setInt(1,88);
sqlThree.setInt(2,90);
rs=sqlThree.executeQuery();
while(rs.next())
{System.out.print("学号:"+rs.getString(1));
System.out.print("数学:"+rs.getInt(2));
System.out.println("英语:"+rs.getInt(3));
}
con.close();
}
catch(SQLExceptione)
{System.out.println(e);
}
}
}
例子10
(1)客户端程序
Client.java
importjava.net.;
importjava.io.;
importjava.awt.;
importjava.awt.event.;
importjavax.swing.;
publicclassClient
{
publicstaticvoidmain(Stringargs[])
{newQueryClient();
}
}
classQueryClientextendsFrame
implementsRunnable,ActionListener
{Buttonconnection,send;
TextFieldinputText;
TextAreashowResult;
Socketsocket=null;
DataInputStreamin=null;
DataOutputStreamout=null;
Threadthread;
QueryClient()
{socket=newSocket();
Panelp=newPanel();
connection=newButton("连接服务器");
send=newButton("发送");
send.setEnabled(false);
inputText=newTextField(8);
showResult=newTextArea(6,42);
p.add(connection);
p.add(newLabel("输入学号"));
p.add(inputText);
p.add(send);
add(p,BorderLayout.NORTH);
add(showResult,BorderLayout.CENTER);
connection.addActionListener(this);
send.addActionListener(this);
thread=newThread(this);
setBounds(10,30,350,400);
setVisible(true);
validate();
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{System.exit(0);
}
});
}
publicvoidactionPerformed(ActionEvente)
{if(e.getSource()==connection)
{try
{if(socket.isConnected())
{}
else
{InetAddressaddress=InetAddress.getByName("127.0.0.1");
InetSocketAddresssocketAddress=newInetSocketAddress(address,4331);
socket.connect(socketAddress);
in=newDataInputStream(socket.getInputStream());
out=newDataOutputStream(socket.getOutputStream());
send.setEnabled(true);
thread.start();
}
}
catch(IOExceptionee){}
}
if(e.getSource()==send)
{Strings=inputText.getText();
if(s!=null)
{try{out.writeUTF(s);
}
catch(IOExceptione1){}
}
}
}
publicvoidrun()
{Strings=null;
while(true)
{try{s=in.readUTF();
showResult.append("\n"+s);
}
catch(IOExceptione)
{showResult.setText("与服务器已断开");
break;
}
}
}
}
(2)服务器端程序
Server.java
importjava.io.;
importjava.net.;
importjava.util.;
importjava.sql.;
publicclassServer
{publicstaticvoidmain(Stringargs[])
{Connectioncon;
PreparedStatementsql=null;
ResultSetrs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundExceptione){}
try{con=DriverManager.getConnection("jdbc:odbc:sun","gxy","123");
sql=con.prepareStatement("SELECTFROMchengjibiaoWHEREnumber=?");
}
catch(SQLExceptione){}
ServerSocketserver=null;
Server_threadthread;
Socketyou=null;
while(true)
{try{server=newServerSocket(4331);
}
catch(IOExceptione1)
{System.out.println("正在监听");
}
try{System.out.println("等待客户呼叫");
you=server.accept();
System.out.println("客户的地址:"+you.getInetAddress());
}
catch(IOExceptione)
{System.out.println("正在等待客户");
}
if(you!=null)
{newServer_thread(you,sql).start();
}
}
}
}
classServer_threadextendsThread
{Socketsocket;
DataOutputStreamout=null;
DataInputStreamin=null;
PreparedStatementsql;
booleanboo=false;
Server_thread(Sockett,PreparedStatementsql)
{socket=t;
this.sql=sql;
try{out=newDataOutputStream(socket.getOutputStream());
in=newDataInputStream(socket.getInputStream());
}
catch(IOExceptione){}
}
publicvoidrun()
{while(true)
{try{
Stringnum=in.readUTF();
boo=false;
sql.setString(1,num);
ResultSetrs=sql.executeQuery();
while(rs.next())
{boo=true;
Stringnumber=rs.getString(1);
Stringname=rs.getString(2);
Stringdate=rs.getString(3);
intmath=rs.getInt(4);
intenglish=rs.getInt(5);
out.writeUTF("学号:"+number+"姓名:"+name+"出生:"+date
+"数学:"+math+"英语"+english);
}
if(boo==false)
{out.writeUTF("没有该学号!");
}
}
catch(Exceptione)
{System.out.println("客户离开"+e);
return;
}
}
}
}
|
|