问题描述
我用JAVA编程的时候用到了Mysql的临时表,为什么刷新页面或者调用别的方法的时候,这个临时表就会消失呢?附SQL代码:1、需求是,在文本框输入数据后,点添加,数据被实时的添加到表格中。再输入数据点添加,第二条数据添加到表格中,依次类推,动态添加,当退出程序,数据自动消失。这些数据有一部分都是要添加到数据库表中的,为了方便我想先放到临时表,之后可以直接存到实体表中。MaterialAdd是一个按钮的方法,MaterialAddList是一个datagrid,每次单击按钮正常应该添加一条数据,单总是不成功,再就是正常的话没访问MaterialAddList方法一次,也会增加一条记录吧?单始终都只是一条记录。求各位朋友帮忙看一下,谢谢。publicvoidMaterialAdd()throwsSQLException{Stringsql2="insertintom_addvalues('6','创建临时表成功513!','3','3')";PreparedStatementps2=DB.prepare(conn,sql2);ps2.execute(sql2);}publicArrayList<MaterialApplay>MaterialAddList()throwsSQLException{Stringsql=null;Stringsql1="createtemporarytableIFNOTEXISTSm_add(idint,m_namevarchar(255),m_modelvarchar(255),m_numvarchar(255))";Stringsql2="insertintom_addvalues('6','创建临时表成功513!','3','3')";PreparedStatementps1=DB.prepare(conn,sql1);PreparedStatementps2=DB.prepare(conn,sql2);ps1.execute(sql1);ps2.execute(sql2);sql="select*fromm_add";PreparedStatementps=DB.prepare(conn,sql);ArrayList<MaterialApplay>matapp=newArrayList<MaterialApplay>();inta=0;try{ResultSetrs=ps.executeQuery();while(rs.next()){MaterialApplayma=newMaterialApplay();a=a+1;ma.setId(rs.getInt("id"));ma.setM_name(rs.getString("m_name"));ma.setM_model(rs.getString("m_model"));ma.setM_num(rs.getInt("m_num"));matapp.add(ma);System.out.print(ma.getM_name());System.out.print(a);}}catch(SQLExceptione){e.printStackTrace();}returnmatapp;}