?? databaseserver.java
字號:
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.StringTokenizer;
public class DatabaseServer
{
public static void main(String args[])
{
ServerSocket server=null;
Server_thread thread;
Socket you=null;
while(true)
{
try
{
server=new ServerSocket(6666);
}
catch(IOException e1)
{
System.out.println("正在監聽");
}
try
{
you=server.accept();
}
catch (IOException e)
{
}
if(you!=null)
{
new Server_thread(you).start();
}
else {continue;}
}
}
}
class Server_thread extends Thread
{
Socket socket;
Connection con=null;
Statement stmt=null;
ResultSet rs;
DataOutputStream out=null;
DataInputStream in=null;
String s=null;
int number=0;
Server_thread(Socket t)
{
socket=t;
try {
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch (IOException e)
{
}
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:moon","","");
stmt=con.createStatement();
}
catch(SQLException ee) {}
}
public void run()
{
while(true)
{
try{
s=in.readUTF();
System.out.println(s);
String sqlCondition=null;
String 查詢內容="",查詢范疇="",查詢條件="";
StringTokenizer fenxi=new StringTokenizer(s,":");
if(fenxi.hasMoreTokens())
{
查詢內容=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
查詢范疇=fenxi.nextToken();
}
if(fenxi.hasMoreTokens())
{
查詢條件=fenxi.nextToken();
}
if(查詢條件.equals("完全一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查詢范疇+" = "+"'"+查詢內容+"' ";
}
else if(查詢條件.equals("前方一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查詢范疇+" LIKE "+"'"+查詢內容+"%' ";
}
else if(查詢條件.equals("后方一致"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查詢范疇+" LIKE "+"'%"+查詢內容+"' ";
}
else if(查詢條件.equals("中間包含"))
{
sqlCondition=
"SELECT * FROM bookform WHERE "+查詢范疇+" LIKE "+"'%"+查詢內容+"%' ";
}
try{
rs=stmt.executeQuery(sqlCondition);
number=0;
while(rs.next())
{
number++;
String 書名=rs.getString("書名");
String 作者=rs.getString("作者");
String 出版社=rs.getString("出版社");
String 價格=rs.getString("價格");
Date 日期=rs.getDate("日期");
out.writeUTF("\n"+number+" "+書名+" , "+作者+","+出版社+","+價格+
","+日期);
}
if(number==0)
{
out.writeUTF("沒有查詢到任何記錄\n");
}
}
catch(SQLException ee) {}
}
catch (IOException e)
{
try
{
socket.close();
con.close();
}
catch(Exception eee)
{
}
System.out.println("客戶離開了");
break;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -