- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个以“日期”作为参数的存储过程。
该过程是从一个函数调用的,而该函数又是从 Java 代码调用的。
我将 Java 代码中的Date
作为参数传递。
现在的问题是存储过程没有更新数据库“日期”列中的正确时间。
Date
已正确更新,但时间更新为默认值 12:00:00AM
,而不是原始值。
我使用DBMS_SQL.EXECUTE
方法从函数调用存储过程。
JAVA代码:
import java.sql.CallableStatement;
import java.sql.ResultSet;<br/>
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;<br/>
public class StackOvFlow {<br/>
/**
*
* @param args
*/<br/>
public static void main(String[] args) {
String status = "";
try {
System.out.println("IN MAIN");<br/>
int userId = 1360822386;
StringBuffer batchUpdateSQL = new StringBuffer("BEGIN ");
StringBuffer updateSQLnew = null;
String date = "30-JUL-2012 10:30:00";<br/>
String currDate = "to_date(" + "'" + date + "'"
+ ",'DD-MON-YYYY HH24:MI:SS')";<br/>
updateSQLnew = new StringBuffer(
"BEGIN PKG_AMB_LOGIN.P_TRACK_USER("
+ userId
+ ",'"
+ currDate
+ ""
+ ");Exception When BufferMgr.app_errors_exit Then Rollback; Return; End; ");<br/>
batchUpdateSQL.append(updateSQLnew);<br/>
batchUpdateSQL
.append(" Exception When BufferMgr.app_errors_exit Then Rollback; Return; End;");<br/>
System.out.println("INPUT ::::");<br/>
System.out.println(batchUpdateSQL);<br/>
String res = getMonthlySave(batchUpdateSQL.toString());
System.out.println("Response: " + res);<br/>
} catch (Exception e) {
System.out.println("Exception" + e);
e.printStackTrace();
}
System.out.println(status);<br/>
}<br/>
public static String getMonthlySave(String plSqlBlk) {<br/>
String output = "";
System.out.println("IN GET MONTHLY SAVE");<br/>
Session session = null;<br/>
CallableStatement cstmt = null;<br/>
ResultSet rs = null;<br/>
SessionFactory sessionFactory = new Configuration().configure(
"hibernate.cfg.xml")<br/>
.buildSessionFactory();<br/>
session = sessionFactory.openSession();<br/>
Transaction transaction = session.beginTransaction();<br/>
try {<br/>
System.out<br/>
.println("<strong>*</strong><em>calling SP <strong></strong></em><strong>**</strong>");<br/>
cstmt = session.connection().prepareCall(<br/>
"{? = call PKG_THR.P_UPDT(?,?)}");<br/>
cstmt.setFetchSize(10000);<br/>
cstmt.registerOutParameter(1,<br/>
oracle.jdbc.driver.OracleTypes.CURSOR);
cstmt.setInt(2,186);<br/>
cstmt.setString(3, plSqlBlk);
cstmt.execute();<br/>
rs = (ResultSet) cstmt.getObject(1);
int size = rs.getFetchSize();<br/>
System.out.println("The size of fetch is " + size);<br/>
while (rs.next()) {<br/>
output = output + rs.getString(1);<br/>
}
System.out.println("OUTPUT ::::::::::::");<br/>
System.out.println(output);<br/>
} catch (Exception e) {<br/>
System.out<br/>
.println("Exception occured in executing query in fetchdetails....... ");<br/>
e.printStackTrace();<br/>
}<br/>
finally {<br/>
transaction.commit();<br/>
session.close();<br/>
}
return output;
}<br/>
}<p></p>
<p></p>
PL/SQL Function:
<br/>
CREATE or REPLACE
PACKAGE BODY PKG_THR AS
FUNCTION P_UPDT(login_id number,plsql_block varchar2) RETURN cursor_type IS
louvtBuff a_XMLBUFFER_TABLE;
loutRowBuff a_XMLBUFFER_TABLE := a_XMLBUFFER_TABLE();
EXIT_MESSAGE EXCEPTION;
lreturn number;
offset BINARY_INTEGER := 1;
kount BINARY_INTEGER := 5;
ln_dbms_cur NUMBER;
ln_cur_execute NUMBER;
j number := 1;
i number;<br/>
buffout cursor_type;
BEGIN
BufferMgrXML.CLEARBUFFER;
BEGIN
pkg_glbl.g_login_id := login_id;
pkg_glbl.g_connect:='1';<br/>
ln_dbms_cur := DBMS_SQL.OPEN_CURSOR;<br/>
DBMS_SQL.PARSE(ln_dbms_cur,plsql_block,DBMS_SQL.NATIVE);<br/>
ln_cur_execute := DBMS_SQL.EXECUTE(ln_dbms_cur);<br/>
EXCEPTION
WHEN BufferMgr.app_errors_exit then
lreturn := BufferMgrXML.getXML(louvtBuff,1,1);
RAISE EXIT_MESSAGE;
END;
最佳答案
因为没有太多代码可供观察,所以很难判断这种情况到底出了什么问题。
非常典型的原因是使用 java.sql.Date ,它将所有时间字段设置为 0。如果是这种情况,您可以使用 java.sql.Timestamp相反(将丢失几分之一秒)。
关于java - 日期字段未正确更新。提交日期更新为 12 :00:00AM instead of original Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11722622/
这个问题已经有答案了: How to do case insensitive string comparison? (23 个回答) 已关闭 3 年前。 用户在我的输入栏中写入“足球”,然后执行第 6
啊,不习惯 javascript 中的字符串。 character_id= + id + correct= + correctOrIncorrect 这就是我需要制作成字符串的内容。如果您无法猜测字符
$(function() { var base_price = 0; CalculatePrice(); $(".math1").on('change', function(e) { Calc
我找不到任何文章回答问题:将Spinnaker部署到Spinnaker将管理的同一Kubernetes集群是否安全/正确?我主要是指生产,HA部署。 最佳答案 我认为Spinnaker和Kuberne
我正在使用MSVC在Windows上从源代码(官方源代码发布,而不是从仓库中)构建Qt5(Qt 5.15.0)。 我正在设置环境。变量,依赖项等,然后运行具有1600万个选项的configure,最后
我需要打印一个包含重复单词的数组。我的数组已经可以工作,但我不知道如何正确计算单词数。我已经知道,当我的索引计数器 (i) 为 49 时,并且当 (i) 想要计数到 50 时,我会收到错误,但我不知道
我正在遵循一个指南,该指南允许 Google map 屏幕根据屏幕尺寸禁用滚动。我唯一挣扎的部分是编写一个代码,当我手动调整屏幕大小时动态更改 True/False 值。 这是我按照说明操作的网站,但
我有一个类“FileButton”。它的目的是将文件链接到 JButton,FileButton 继承自 JButton。子类继承自此以使用链接到按钮的文件做有用的事情。 JingleCardButt
我的 friend 数组只返回一个数字而不是所有数字。 ($myfriends = 3) 应该是…… ($myfriends = 3 5 7 8 9 12). 如果我让它进入 while 循环……整个
这个问题在这里已经有了答案: Is there a workaround to make CSS classes with names that start with numbers valid?
我正在制作一个 JavaScript 函数,当调整窗口大小时,它会自动将 div 的大小调整为与窗口相同的宽度/高度。 该功能非常基本,但我注意到在调整窗口大小时出现明显的“绘制”滞后。在 JS fi
此问题的基本视觉效果可在 http://sevenx.de/demo/bootstrap-carousel/inc.carousel/tabbed-slider.html 获得。 - 如果你想看一看。
我明白,如果我想从函数返回一个字符串文字或一个数组,我应该将其声明为静态的,这样当被调用的函数被返回时,内容就不会“消亡”。 但我的问题是,当我在函数内部使用 malloc 分配内存时会怎样? 在下面
在 mySQL 数据库中存储 true/false/1/0 值最合适(读取数据消耗最少)的数据字段是什么? 我以前使用过一个字符长的 tinyint,但我不确定它是否是最佳解决方案? 谢谢! 最佳答案
我想一次读取并处理CSV文件第一行中的条目(例如打印)。我假设使用Unix风格的\n换行符,没有条目长度超过255个字符,并且(现在)在EOF之前有一个换行符。这意味着它是fgets()后跟strto
所以,我们都知道 -1 > 2u == true 的 C/C++ 有符号/无符号比较规则,并且我有一种情况,我想有效地实现“正确”比较。 我的问题是,考虑到人们熟悉的尽可能多的架构,哪种方法更有效。显
**摘要:**文章的标题看似自相矛盾。 本文分享自华为云社区《Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序》,作者: Jerry Wang 。 文章的标题看似自相矛盾,然而我在“正
我有一个数据框,看起来像: dataDemo % mutate_each(funs(ifelse(. == '.', REF, as.character(.))), -POS) # POS REF
有人可以帮助我使用 VBScript 重新格式化/正确格式化带分隔符的文本文件吗? 我有一个文本文件 ^分界如下: AGREE^NAME^ADD1^ADD2^ADD3^ADD4^PCODE^BAL^A
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我是一名优秀的程序员,十分优秀!