好的,我的家伙是这个显示文本保存在textarea中嵌入的数据库中,我有保存的代码接收消息并在数据库中发送消息。我只是在连接消息时显示,但是当我没有连接并且我连接到服务器时,消息消失了。
这是关于接收和发送消息的代码:
public void guardaMensajeRecibido(Chat chat,Message message){
try {
Date d=new Date();
Timestamp t=new Timestamp(d.getTime());
String statusRecibido="Recibido";
PreparedStatement ps=null;
String[] chat_array=chat.getParticipant().split("@");
String chatt=chat_array[chat_array.length-2];
String mensaje=message.getBody();
st.executeUpdate("INSERT INTO DATABASEH2.MESSAGES(USER,STATUS,MENSAJES,HOUR) "+"VALUES('"+chatt+"','"+statusRecibido+"','"+decodeBase64(mensaje)+"','"+t+"')",Statement.RETURN_GENERATED_KEYS);
rs=st.getGeneratedKeys();
st.close();
//rs.next();
//rs.getInt(1);
//krs=st.executeQuery("select * FROM DATABASEH2.MESSAGES ");
//System.out.println(rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void guardaMensajeEnviado(String mensajes) {
try {
System.out.println("entra al metodo");
Date d=new Date();
Timestamp t=new Timestamp(d.getTime());
String statusEnviado="Enviado";
PreparedStatement ps=null;
/*String[] chat_array=chat.getParticipant().split("@");
String chatt=chat_array[chat_array.length-2];*/
String user="You";
System.out.println("llega para insertar mensaje st: "+(st==null?"null":"no null"));
st.executeUpdate("INSERT INTO DATABASEH2.MESSAGES(USER,STATUS,MENSAJES,HOUR) "+"VALUES('"+user+"','"+statusEnviado+"','"+encodeBase64(mensajes)+"','"+t+"')",Statement.RETURN_GENERATED_KEYS);
rs=st.getGeneratedKeys();
st.close();
System.out.println("guarda en bd");
} catch (SQLException e) {
System.out.println("SQLException mensaje"+e.getMessage());
e.printStackTrace();
}
catch (Exception e) {
System.out.println("Exception mensaje "+e.getMessage());
// TODO: handle exception
}
}
此代码显示我发送消息时:
btnSend.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
String empty="";
String mensajes=txtMensajes.getText();
//decodeBase64(mensajes);
String[] talkTo_array=lstDisplayBuddys.getSelectionModel().getSelectedItem().toString().split("-");
String talkTo=talkTo_array[talkTo_array.length-1];
System.out.println(talkTo);
String user="You say: ";
Calendar today = new GregorianCalendar();
String fecha=today.getTime().toString().substring(0,7);
Calendar yestarday = new GregorianCalendar();
yestarday.add(Calendar.DATE, -1);
String todai="____________________________________"+today.getTime()+"_____________________________________\n";
try {
if(today!=yestarday){
System.out.println(txtContMensajes.getText().length());
if(txtContMensajes.getText().length()==0){
System.out.println(fecha);
System.out.println(txtContMensajes.getText());
txtContMensajes.appendText(todai+"\n");
System.out.println(todai);
System.out.println("mensajes del dia de hoy");
}
if(talkTo!=mensajes)
{
try {
while(true){
sendMessage(encodeBase64(mensajes), talkTo);
System.out.println("llega a mostrar tu mensaje");
txtContMensajes.appendText(user+mensajes+"\n");
txtMensajes.setText("");
break;
}
ConnectionDBH2 cdb=new ConnectionDBH2();
System.out.println("llega a metodo guardar");
cdb.guardaMensajeEnviado(mensajes);
} catch (XMPPException e) {
e.printStackTrace();
}
}
}
if(mensajes.equals(empty))
{
txtContMensajes.setText("Typing something!!!\n");
txtContMensajes.appendText("Enter your Contact or your message\n");
}
} catch (Exception e) {
}
}
});