JSP SQL语句执行 问题 我全部分都给你了

问题描述

这个盘盈功能涉及一共有3张表,t_ruku(对入库的经手人时间等进行登记),t_rukuMing(对入库的数量进行登记),t_pancun(盘存记录的登录),Stringdanjuhao=String.valueOf(newDate().getTime());Stringshijian=req.getParameter("shijian");intgoods_id=Integer.parseInt(req.getParameter("goods_id"));Stringshijishuliang=req.getParameter("shijishuliang");Stringxitongshuliang=req.getParameter("xitongshuliang");Stringtype1=req.getParameter("type1");Stringbeizhu=req.getParameter("beizhu");inta=Integer.parseInt(req.getParameter("shijishuliang"));//实际数量intb=Integer.parseInt(req.getParameter("xitongshuliang"));//系统数量intyuangong_id=0;intzongjiage=1000;Stringjingshouren="";Stringbeizhu1="盘盈";Stringbeizhu2="盘亏";Stringdel="no";Stringsql1="insertintot_pancunvalues(?,?,?,?,?,?,?,?)";Object[]params1={shijian,goods_id,shijishuliang,xitongshuliang,type1,beizhu,yuangong_id,del};DBmydb=newDB();//这个是我对上面SQL语句的问号进行赋值if(a>b)//实际大于系统要进行入库使的系统数量等于实际{Stringsql2="insertintot_rukuvalues(?,?,?,?,?,?)";Object[]params2={danjuhao,shijian,zongjiage,jingshouren,beizhu1,del};mydb.doPstm(sql2,params2);intc=a-b;Stringsql3="insertintot_rukuMingxivalues(?,?,?,?)";Object[]params3={null,goods_id,c,beizhu1};mydb.doPstm(sql3,params3);mydb.doPstm(sql1,params1);mydb.closed();}else{};//下面这些没什么用的进行跳转而已req.setAttribute("message","操作成功");req.setAttribute("path","pancun?type=pancunMana");StringtargetURL="/common/success.jsp";dispatch(targetURL,req,res);我运行之后,对其操作后发现只有sql2执行了,其他两条都没执行,如何才能把这3条SQL语句都执行了

解决方案

解决方案二:
大家过来帮帮我谢谢
解决方案三:
DBmydb2=newDB();mydb2.doPstm(sql2,params2);mydb2.close();试试。。。
解决方案四:
引用2楼atest001的回复:

DBmydb2=newDB();mydb2.doPstm(sql2,params2);mydb2.close();试试。。。

DBmydb2=newDB();mydb2.doPstm(sql3,params3);mydb2.close();

改成这样或者用数据库批处理试试。

时间: 2024-08-04 05:35:06

JSP SQL语句执行 问题 我全部分都给你了的相关文章

创建索引对SQL语句执行的影响

一.创建索引对执行计划的影响 在SQL开始执行之前,Oracle会确定SQL语句的执行计划,并按照执行计划的步骤访问相应的表和索引. 一旦执行计划确定下来,Oracle会按照这个执行计划完成SQL语句的执行,在SQL语句执行开始之后建立的索引不会改变SQL语句的执行计划. 因此,创建索引不会对执行计划有任何的影响,也就不会对运行中的SQL语句有影响.下面通过一个例子简单验证一下: SQL> CREATE TABLE TEST (ID NUMBER, FID NUMBER, NAME VARCHA

Oracle 历史SQL语句执行计划的对比与分析

    基于CBO优化器的环境中,SQL执行计划的生成依赖于统计信息的真实与完整.如列的离散度,列上的直方图,索引的可用性,索引上的聚簇因子.当这些信息是真实完整的情况下,CBO优化器通常都可以制定最优的执行计划.也正因此CBO优化器也灵活,难以控制,任一信息的不真实或缺失都可能导致执行计划发生变化而产生多个版本.经常碰到的情形是之前的某个SQL语句前阵子还不是TOP SQL,而最近变成了TOP SQL.或者说之前尽管是TOP SQL但,但最近尽然成了TOP 1.对于此情形,我们可以比对SQL语

使用优化器性能视图获取SQL语句执行环境

    Oracle SQL语句的运行环境分为多个不同的层次,主要包括实例级别,会话级别,语句级别,其优先级依次递增.即语句级别的执行环境具有最高的优先权,会话级别次之,实例级别最低.反过来,实例级别的环境设置影响全局,而会话级别的则影响当前会话,语句级别的设置当然也就只影响当前语句.由此可知,运行环境中每一个环节的参数都对最终的数据库性能或所执行的SQL语句有直接的影响.因此在对数据库优化或调试SQL时,获得当前SQL语句运行环境显得尤为重要.为此,Oracle提供了三个重要的视图来获取不同级

使用 EXPLAIN PLAN 获取SQL语句执行计划

     SQL查询语句的性能从一定程度上影响整个数据库的性能.很多情况下,数据库性能的低下差不多都是不良SQL语句所引起.而SQL语句的执行 计划则决定了SQL语句将会采用何种方式从数据库提取数据并返回给客户端,本文描述的将是如何通过EXPLAIN PLAN 获取SQL语句执行计划来获 取SQL语句的执行计划. 一.获取SQL语句执行计划的方式     1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划      2. 查询动态性能视图

mysql-python 脚本中sql语句执行失败的问题

问题描述 python 脚本中sql语句执行失败的问题 如题,一句sql语句,在mysql命令行下可以执行并且有结果,但是,放在一段python脚本里, db.cursor.excute(sql)怎么都是0,这是怎么回事,求破 (我用的pymysql包做数据库连接池,autocommit为Ture) 解决方案 SQL语句中的执行时间问题执行SQL语句脚本文件解决存储过程中SQL字符串语句执行引入参数的问题 解决方案二: 先打印一下python的sql语句,看是否有区别

根据mysql慢日志监控SQL语句执行效率_Mysql

根据mysql慢日志监控SQL语句执行效率 启用MySQL的log-slow-queries(慢查询记录). 在Linux环境下先要找到my.cnf文件(一般在/etc/mysql/),然后可能会发现该文件修改后无法保存,原因是你没有相应的权限,可以从属性中看到该文件的所有者是root,这时要先以root的身份打开它: sudo nautilus /etc/mysql 接着再打开my.cnf文件然后找到[mysqld]标签在下面加上: log-slow-queries=/path/slow.lo

c# 事务处理 发现第一条sql语句执行插入成功了 第二条执行更新没成功

问题描述 c# 事务处理 发现第一条sql语句执行插入成功了 第二条执行更新没成功 求助高手帮忙分析一下 这个函数会不会出现我说的那种状况 两条指令第一条往Table1插入了一条信息 第二条更新Table2的某个字段 奇怪的是Table1插入了一条信息 但Table2没执行更新 不知道是不是这个函数的原因 如果这个函数不会出现这种状况麻烦高手帮忙分析一下可能是什么原因 谢谢 public void ExecuteScalar(CommandType cmdType, string[] cmdTe

sql语句执行与直接执行存储过程的效率比较

1.关于拼sql语句执行与直接执行存储过程的效率比较 1)在程序代码中拼sql语句,类似代码如下:                  代码如下 复制代码 System.Data.OleDb.OleDbCommand Command=conn.CreateCommand();                 Command.CommandTimeout=0;                 Command.Transaction=trans;                 Command.Com

SQL语句执行顺序详解_MsSql

我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,由于SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理.       每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一