import java.sql.*
class DBBean {
public String loginName = null
public String userName = null
public String password = null
public int age= 0
public String address = null
public String getAddress() {
return address
}
public void setAddress(String address) {
this.address = address
}
public int getAge() {
return age
}
public void setAge(int age) {
this.age = age
}
public String getLoginName() {
return loginName
}
public void setLoginName(String loginName) {
this.loginName = loginName
}
public String getPassword() {
return password
}
public void setPassword(String password) {
this.password = password
}
public String getUserName() {
return userName
}
public void setUserName(String userName) {
this.userName = userName
}
}
/*
*
* userinfo 数据库结构
* loginName varchar
* userName varchar
* password varchar
* age number
* address varchar
*/
public class Test {
private PreparedStatement pst = null//对pst的初始化工作请自己执行
public void update(DBBean bean){
try {
String sql="update userinfo set loginName=? , userName=? , password=? , age=? , address=?"
pst.setString(1,bean.getLoginName())
pst.setString(2,bean.getUserName())
pst.setString(3,bean.getPassword())
pst.setInt(4,bean.getAge())
pst.setString(5,bean.getAddress())
pst.executeUpdate(sql)
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace()
}
}
}
没理解你说的 session 跟 数据库 跟 jsp页面的关系,我说的,我理解的问题, 数据库的内容有变化,但是jsp页面上的数据没有变化
首先 jsp页面上的数据是怎么来的,是直接查询数据库,获取想要的数据,然后渲染jsp页面,还是通过ajax. 一个页面渲染完成之后,它是不知道 数据库的内容有变化的,如果对页面没什么体验要求的化,你重新刷新一遍页面,这个时候,相当于重新查询一次数据库,这个时候,就可以获取变化了的数据,然后渲染成页面。如果对体验要求高的话,不能靠重新刷新页面去获取新的数据的话,可以用轮询或者websocker之内的技术,来实现
1.medication_ID不存在执行
String sql1 = "insert into his_medication_trad(medication_ID,name,amount,price,area,in_date) values ('" + mid + "','"+ mname + "','"+ mamount1 +"','"+ mprice +"','"+ marea +"','"+ mdate +"')"
String sql3 = "insert into his_medication_stock(medication_ID,name,stock,price,area) values ('" + mid + "','"+ mname + "','"+ mamount1 +"','"+ mprice +"','"+ marea +"')"
2.medication_ID存在
String sql2 = "update his_medication_stock set stock='" + mamount + "' where medication_ID='" + mid + "'"
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
String url = "jdbc:sqlserver://localhost:1433DatabaseName=HIS"
String user = "sa"
String password = "123"
Connection conn = DriverManager.getConnection(url, user, password)
Statement stmt = conn .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
String mid = request.getParameter("id")
String mname = request.getParameter("name")
String mamount1= request.getParameter("amount")
String mprice= request.getParameter("price")
String marea= request.getParameter("area")
String sql="select * from his_medication_stock where medication_ID='"+mid+"'"
ResultSet rs=stmt.executeQuery(sql)
String s1="-1"
String s2="-1"
while(rs.next())
{
s1=rs.getString(1)//获得第一列数据
s2=rs.getString(4)//获得第四列数据
}
int mstock=Integer.parseInt(s2)
int mamount2=Integer.parseInt(mamount1)
int i=mamount2+mstock
String mamount=String.valueOf(i)
java.util.Date currentTime = new java.util.Date()//得到当前系统时间
String date2 = currentTime.toString()//将Date型日期时间转换成字符串形式
String mdate=date2
String sql1 = "insert into his_medication_trad(medication_ID,name,amount,price,area,in_date) values ('" + mid + "','"+ mname + "','"+ mamount1 +"','"+ mprice +"','"+ marea +"','"+ mdate +"')"
String sql2 = "update his_medication_stock set stock='" + mamount + "' where medication_ID='" + mid + "'"
String sql3 = "insert into his_medication_stock(medication_ID,name,stock,price,area) values ('" + mid + "','"+ mname + "','"+ mamount1 +"','"+ mprice +"','"+ marea +"')"
stmt.executeUpdate(sql1)
if(s1.equals("-1")) //不存在,插入两条
{
stmt.executeUpdate(sql1)
stmt.executeUpdate(sql3)
}
else //存在,修改一条
{
stmt.executeUpdate(sql2)
}
stmt.close()
conn.close()
%>
上面上楼主的意思吧??
我已经给楼主写好了..
如果楼主你的SQL语句没有写错的话..那么上面的运行结果就是正确的...
如果在使用的过程中遇到问题的话...
而且我又在线....那么就直接百度HI我就行了...
我来给你解决一下吧!!!
祝楼主早日成功哈!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)