jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新

时间:2022-09-08 14:47:23
新手问题。。这几天做课程设计临时学的有些东西实在不懂,不太会贴代码截的图,求前辈赐教
jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新

8 个解决方案

#1


执行了update 语句,但是数据库中的数据没有更新

#2


没开启事物。

#3


什么意思。没听懂 jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新

#4


在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);

#5


引用 4 楼 qnmdcsdn 的回复:
在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 

#6


引用 5 楼 qq_32404711 的回复:
Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

#7


引用 6 楼 qnmdcsdn 的回复:
Quote: 引用 5 楼 qq_32404711 的回复:

Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

恩没有报错 数据之前插入了有,能不能帮忙看下我这个 定义有没有错呢?都是定义的varchar(50)类型
String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  " + studentAge +   "  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  "  + studentWeight + "  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

#8


引用 7 楼 qq_32404711 的回复:
Quote: 引用 6 楼 qnmdcsdn 的回复:

Quote: 引用 5 楼 qq_32404711 的回复:

Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

恩没有报错 数据之前插入了有,能不能帮忙看下我这个 定义有没有错呢?都是定义的varchar(50)类型
String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  " + studentAge +   "  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  "  + studentWeight + "  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);


额,一句话可以解决的事写四条干嘛,另外字段名尽量不要用中文 jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新

#1


执行了update 语句,但是数据库中的数据没有更新

#2


没开启事物。

#3


什么意思。没听懂 jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新

#4


在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);

#5


引用 4 楼 qnmdcsdn 的回复:
在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 

#6


引用 5 楼 qq_32404711 的回复:
Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

#7


引用 6 楼 qnmdcsdn 的回复:
Quote: 引用 5 楼 qq_32404711 的回复:

Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

恩没有报错 数据之前插入了有,能不能帮忙看下我这个 定义有没有错呢?都是定义的varchar(50)类型
String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  " + studentAge +   "  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  "  + studentWeight + "  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

#8


引用 7 楼 qq_32404711 的回复:
Quote: 引用 6 楼 qnmdcsdn 的回复:

Quote: 引用 5 楼 qq_32404711 的回复:

Quote: 引用 4 楼 qnmdcsdn 的回复:

在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);
然后在sql执行之后手动提交
con.commit();
再把自动提交改回来
con.setAutoCommit(true);
刚刚试了下 ,没起作用
是像这样加吗?
Connection con = DriverManager.getConnection(url, user, password);
   Statement stmt = con.createStatement();
/* ResultSet rs = stmt.executeQuery("select * from info where 学号 = " + studentNumber);  */

//在获取到连接后先设置自动提交为fales
con.setAutoCommit(false);

//不是数字的字符串要加上   ' '    !!!!  
    String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  '" + studentAge +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  '"  + studentWeight + "'  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);

//然后在sql执行之后手动提交
con.commit();
//再把自动提交改回来
con.setAutoCommit(true); 


程序没有报错,也没插入数据?

恩没有报错 数据之前插入了有,能不能帮忙看下我这个 定义有没有错呢?都是定义的varchar(50)类型
String sql1 = "update info set  姓名 =  '"  + studentName +  "'  where 学号 = " + studentNumber;
    stmt.executeUpdate(sql1);
String sql2 = "update info set  性别 =  '" + studentSex +   "'  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql2);
String sql3 = "update info set  年龄 =  " + studentAge +   "  where 学号 = " + studentNumber;  
stmt.executeUpdate(sql3);
String sql4 = "update info set  体重 =  "  + studentWeight + "  where 学号 = " + studentNumber; 
stmt.executeUpdate(sql4);


额,一句话可以解决的事写四条干嘛,另外字段名尽量不要用中文 jsp executeUpdate(update ...)语句执行了但是数据库中的数据没有更新