当前位置: 代码迷 >> Java相关 >> [求助]在这个程序中怎么加个连接到SQL的程序段啊!!
  详细解决方案

[求助]在这个程序中怎么加个连接到SQL的程序段啊!!

热度:274   发布时间:2006-05-30 17:28:00.0
[求助]在这个程序中怎么加个连接到SQL的程序段啊!!

/*******************服务端的程序*************************/
//Server.java
package server;
import java.io.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;

public class Server{
public static void main(String arg[]){
ServerService MyServer=new ServerService(8000,10);

}
}
//交互端的服务窗口
class ServiceThread extends Frame
implements ActionListener,Runnable{
ServerService FatherListener;
Socket ConnectedClient;
Thread ConnectedThread;
Panel ListenePanel;
TextArea ServerMeg;
TextArea ServerWrite;
Label la;
Button bt;
BufferedReader in;
PrintWriter out;
public ServiceThread(ServerService sv,Socket s){
//容器与格子组建的结合

FatherListener=sv;
ConnectedClient=s;
ConnectedThread =new Thread(this);
//采用线程的目的是利用他的并发机制,实现多个任务

//在当前的类中(this)通过Runnabel()接口实现Thread()的Run()方案


setTitle("Answer Client");
setLayout(new GridLayout(4,1));
//采用格子组建的形式完成组建的安排

ServerMeg=new TextArea(null,5,45,TextArea.SCROLLBARS_VERTICAL_ONLY);
//添加各种组建到容器当中
ListenePanel=new Panel();
ListenePanel.add(ServerMeg);
add(ListenePanel);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
//((Frame)e.getWindow()).dispose();//保留的语句
System.exit(0);
}});
//第二个Panel()

la=new Label("服务端消息输入框");
add(la);
ServerWrite=new TextArea(10,50);
add(ServerWrite);
//add(p2);
setSize(355,360);

Panel p3=new Panel();

bt=new Button("传送");
bt.addActionListener(this);
p3.add(bt);
add(p3);

setResizable(false);

show();
InetAddress ClientAddress=ConnectedClient.getInetAddress();
ServerMeg.append("Client Conneted from \n "+ClientAddress.getHostAddress()+"!");

}
//完成事件的部
//面临的一个问题是空发消息

public void actionPerformed(ActionEvent ex){

if(ex.getSource()==bt){
if((int)((ServerWrite.getText().toString()).length())!=0)
ServerMeg.append("服务端消息:"+ServerWrite.getText()+"\n");
out.println("\n"+ServerWrite.getText());
ServerWrite.setText("");
}
else {

ServerMeg.append("系统提示: 不能空法消息!\n");

}

}



// 覆盖线程的run()方法

public void run(){

try{
in=
new BufferedReader(new InputStreamReader(ConnectedClient.getInputStream()));
out=new PrintWriter(ConnectedClient.getOutputStream(),true);

out.println("Hello! Wellocme connect our server !");

out.flush();
String s=in.readLine();
if(s.equals("bye"))
out.println("已经断开与服务器的连接.............. \n 欢 迎 下 次 观 顾!");
while(!s.equals("bye")){
ServerMeg.append("\n\n"+s);
s=in.readLine();
}



ConnectedClient.close();

}catch(Exception e){}
FatherListener.addMeg("Client"+"Cloesd."+"\n");

}//run(),finished;

}

//服务窗口
class ServerService extends Frame{
ServerSocket Listener;
TextArea ListenerMeg;
public ServerService(int port,int Count){
try{

Listener=new ServerSocket(port,Count);//开启监听的端口

setTitle("服务监听");
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
((Frame)e.getWindow()).dispose();//释放组建与内存
System.exit(0);

}});
setLayout(new BorderLayout());
ListenerMeg=new TextArea("监听服务已经启动 \n",10,50);
add("Center",ListenerMeg);
setResizable(false);//设计固定的状态
pack();//重新的打包

show();
while(true){
Socket connected=Listener.accept();//等待外部的连接,直到连接成功才返回一个套接字

InetAddress ClientAddress=connected.getInetAddress();
ListenerMeg.append("\n Client connected from :\n"+ ClientAddress.toString());
ServiceThread MyST=new ServiceThread(this,connected);//初使化服务线程
//this指向当前对象的指针

MyST.ConnectedThread.start();//启动线程
} //获取套接子,激活线程,采用循环的语句解决方式


}catch(Exception ep){}

}
public void addMeg(String s){
ListenerMeg.append(s);

}
}

哪位高手帮忙看看 要怎么添加!! 急用啊!!

搜索更多相关的解决方案: SQL  

----------------解决方案--------------------------------------------------------
看不到你完整的代码啊!
----------------解决方案--------------------------------------------------------

上面的就是服务端的完整代码

你是还要客户端的才可以吗?


----------------解决方案--------------------------------------------------------

登录
package Chat.New;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class New extends JFrame {//登录窗口类
JPanel contentPane;
//*****************
String server;//服务器名
int serport;//端口
private Socket socket;
private BufferedReader in;//输入输出流
private PrintWriter out;
//***********//程序界面
JPanel jPanel1 = new JPanel();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jicq = new JTextField();
JLabel jLabel3 = new JLabel();
JPasswordField password = new JPasswordField();
JPanel jPanel2 = new JPanel();
JButton login = new JButton();
JButton newuser = new JButton();
JButton quit = new JButton();
JLabel jLabel6 = new JLabel();
JTextField servername = new JTextField();
JLabel jLabel7 = new JLabel();
JTextField serverport = new JTextField();
//构造方法
public New() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try { jbInit();
server=servername.getText().toString().trim();
serport=Integer.parseInt(serverport.getText().trim());
} catch(Exception e) { e.printStackTrace(); }
}

private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.setResizable(false);
this.setSize(new Dimension(344, 245));
this.setTitle("New JICQ");
//contentPane.add(text, null);
jPanel1.setBounds(new Rectangle(2, 3, 348, 110));
jPanel1.setLayout(null);
jLabel1.setText("请输入你的信息");
jLabel1.setBounds(new Rectangle(5, 7, 103, 18));
jLabel2.setText("你的Jicq");
jLabel2.setBounds(new Rectangle(7, 66, 58, 18));
jicq.setBounds(new Rectangle(68, 65, 97, 22));
jLabel3.setText("你的密码");
jLabel3.setBounds(new Rectangle(173, 66, 67, 18));
password.setBounds(new Rectangle(237, 63, 94, 22));
jPanel2.setBounds(new Rectangle(8, 154, 347, 151));
jPanel2.setLayout(null);
login.setText("登录");
login.setBounds(new Rectangle(5, 27, 79, 29));
login.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
login_mouseClicked(e);
}
});

quit.setText("退出");
quit.setBounds(new Rectangle(228, 26, 79, 29));
quit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
quit_mouseClicked(e);
}
});
jLabel6.setText("服务器");
jLabel6.setBounds(new Rectangle(20, 132, 41, 18));
servername.setText("0.0.0.0");
servername.setBounds(new Rectangle(73, 135, 102, 22));
jLabel7.setText("端口");
jLabel7.setBounds(new Rectangle(191, 137, 41, 18));
serverport.setText("8080");
serverport.setBounds(new Rectangle(241, 131, 90, 30));
contentPane.add(jPanel1, null);
jPanel1.add(jLabel1, null);
jPanel1.add(jLabel2, null);
jPanel1.add(jicq, null);
jPanel1.add(jLabel3, null);
jPanel1.add(password, null);
contentPane.add(jPanel2, null);
jPanel2.add(login, null);
jPanel2.add(quit, null);
jPanel2.add(newuser, null);
contentPane.add(jLabel6, null);
contentPane.add(servername, null);
contentPane.add(jLabel7, null);
contentPane.add(serverport, null);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public static void main(String[] args) {//主程序
New f=new New();
f.setVisible(true);

}

void login_mouseClicked(MouseEvent e) {//登录按扭

try{Socket socket=new Socket(InetAddress.getByName(server),serport);//连接服务器

BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),true);
this.dispose();
Chat.Client.Client f2=new Chat.Client.Client();
f2.setVisible(true);

}catch(IOException e1){}
}

void quit_mouseClicked(MouseEvent e) {//关闭按扭
this.dispose();
System.exit(0);
}


}


----------------解决方案--------------------------------------------------------

/*******************服务端的程序*************************/
package Chat.Client;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class Client extends Frame implements ActionListener,Runnable
{

private TextArea ta1,ta2;
private Socket socket;
private Button b,l;
private BufferedReader br=null;
private PrintWriter pw=null;

//构造函数
public Client()
{
//完成ip地址与端口的建立
setLayout(new GridLayout(3,1));
Panel p1=new Panel();
add(p1);
Panel p2=new Panel();
add(p2);
Panel p3=new Panel();
add(p3);


//输入框与显示框
p1.add(new Label("聊天记录"));
ta1=new TextArea("",30,50,TextArea.SCROLLBARS_VERTICAL_ONLY);
ta1.setEditable(false);
p1.add(ta1);

p2.add(new Label("用户输入框"));
ta2=new TextArea("",30,50,TextArea.SCROLLBARS_VERTICAL_ONLY);
p2.add(ta2);


b=new Button("发送");
b.setBackground(Color.yellow);
p3.add(b);

setTitle("客户端");
setBounds(100,100,400,400);
setBackground(new Color(154,154,154));
setResizable(false);
setVisible(true);

//增加了一个窗口关闭的事件
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent exit)
{
System.exit(0);
}});

Thread ThreadReader=new Thread(this);
ThreadReader.start();
b.addActionListener(this);

}

public void run()
{
while(true)
{
try{
ta1.append("\n #_____________________________#\n"+br.readLine());

}catch(Exception exo){}
}
}

//客户向服务端发送消息啊!



public void actionPerformed(ActionEvent e)
{
String command=e.getActionCommand();

if("发送".equals(command))
{
if(ta2.getText().length()!=0)
{
ta1.append("\n 客户端的消息:"+ta2.getText());
ta2.setText(" "); //结束的时候清空文本框
}
else
{
if(ta2.getText().length()==0)
ta1.append("请输入完整的IP地址与端口以及、\n"+"不能空发消息");
}

}

}
public static void main(String arg[])
{
new Client();
}

}


----------------解决方案--------------------------------------------------------

整个聊天系统的代码都发了

谁可以帮忙加个SQL连接吗? 急用!!


----------------解决方案--------------------------------------------------------
真的是急用啊  大哥们帮帮忙吧!!!
----------------解决方案--------------------------------------------------------
你想连接数据库干嘛啊
----------------解决方案--------------------------------------------------------

老师要求啊

不然我也不想的


----------------解决方案--------------------------------------------------------
连接数据库实现什么功能啊,你只帖了代码而没有帖要求啊

----------------解决方案--------------------------------------------------------
  相关解决方案