当前位置: 代码迷 >> Eclipse >> JAVA C/S结构有关问题
  详细解决方案

JAVA C/S结构有关问题

热度:67   发布时间:2016-04-23 14:17:04.0
JAVA C/S结构问题
//数据库类的开始
class DataBaseManager
{
Connection con;
ResultSet rs;
Statement stmt;
public DataBaseManager()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}

try{

con=DriverManager.getConnection("jdbc:odbc:demo","","");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
}
}
public ResultSet getResult(String strSQL)
{
try{
rs=stmt.executeQuery(strSQL);
return rs;
}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
return null;
}

}
public boolean updateSql(String strSQL)
{
try{
stmt.executeUpdate(strSQL);
con.commit();
return true;

}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
return false;
}
 
}
public void closeConnection()
{
try
{
con.close();
}
catch(SQLException sqle)
{
System.out.println(sqle.toString());
}
}
 
}

//数据库类的结束


按下B4按钮的处理程序

if(e.getSource()==b4)
{
 
{  
strSQL="select * from meeting";
strSql=null;
 
{
strSql=strSQL;

}

 
}  

}
try
{
//首先要删除table中的数据先:
int rowCount=defaultModel.getRowCount()-1;//取得table中的数据行;
int j=rowCount;
for(int i=0;i<=rowCount;i++)
{
defaultModel.removeRow(j);//删除rowCount行的数据;
defaultModel.setRowCount(j);//重新设置行数;
j=j-1;
}
rs=db.getResult(strSql);
while(rs.next())
{
Vector data=new Vector();
data.addElement(rs.getDate(1));
data.addElement(rs.getString(2));
data.addElement(rs.getString(3));
data.addElement(rs.getString(4));
defaultModel.addRow(data);


}
table.revalidate();


}

catch(SQLException sqle)
{
System.out.println(sqle.toString());
}
catch(Exception ex)
{
System.out.println(ex.toString());
}

}
 
急!急!急! 我想把这两个程序改成C/S结构,数据库放在服务器上,B4事件在客户机上,问题就是如何通过Socket接口将B4点击事件 要查询的数据在客户机的JTable中显示!!!
还要用Vector吗????请大侠帮帮忙,本人在做毕业设计,快结题了,十分着急,求求各位帮忙。。给程序提示。。小弟先谢谢了。或者把调试的程序发到小弟邮箱 2005chenweiwei@sina.com


------解决方案--------------------
说下思路:
你点击客户机事件,只传递命令给服务端,然后服务端根据命令,在服务端本身执行数据库操作,得到一个结果集的Vector或其他什么都行,一个集合。

然后你将这个集合序列化,比如拼接成String都可以,发送回客户机。

以上
------解决方案--------------------
网络版本和单机版最大的区别就是 访问冲突 和 信息传输

访问冲突先不要考虑

直接去看 流的对象传输 
只要对象可以传递了 那就全OK了
------解决方案--------------------
ajax做就可以了,给你提供一个思路,前台传的uri中设置几个参数,后台获取这几个参数,根据对应的参数做对应的操作,后台传向前台的数据全部拼凑成字符串,前台的xmlhttprequest解析这些字符串,然后用相应的js,把需求的信息显示到界面上去
------解决方案--------------------
客户端:
URLConnection con = new URL("http://" + address + "/HttpServlet").openConnection();
  相关解决方案