java执行存储过程

问题描述

请问我哪个地方写错了?要怎么改?callableStatement=conn.prepareCall("{calldbo.P_GetBomCom_Rt(?)}");callableStatement.setInt(1,3789);sqlserver收到的是EXECdbo.P_GetBomCom_Rt@P0

解决方案

解决方案二:
存储过程dbo.P_GetBomCom_Rt无return最后是个Select*fromcallableStatement=conn.prepareCall("{calldbo.P_GetBomCom_Rt(?)callableStatement.setInt(1,3789);callableStatement.execute();rs=callableStatement.getResultSet();我想这样得到结果但是rs.next()就一直NullPointerException事件探查器declare@p1intset@p1=0execsp_prepexec@p1output,N'@P0int',N'EXECdbo.P_GetBomCom_Rt@P0',3789select@p1EXECdbo.P_GetBomCom_Rt@P0跪求答案
解决方案三:
不是这样写的,存储过程没有返回值,但可以通过设置参数的模式,是in或者是out,in是输入参数,out是输出参数,具体情况自己看书吧,在java程序这边,如果问号是in参数,就要设置其值,如果是out参数,则要注册该参数的数据类型,然后获取。

时间: 2024-10-21 09:35:20

java执行存储过程的相关文章

java调用存储过程-Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点

问题描述 Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点 如题所述,使用Java代码执行删除.创建临时表的存储过程时总是执行不成功(不报错, 但是获取的影响行数为-1),别的存储过程都可以执行成功,求大师指点啊, 存储过程和Java代码如下: 1.存储过程代码 ALTER PROCEDURE [dbo].[PROC_TEMP] AS BEGIN if object_id('tempdb..##temp') is not null Begin DROP TABLE #

Java 调用存储过程

存储过程 本文阐述了怎么使用DBMS存储过程.我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果. 使用存储过程拥有和使

Java执行sql语句并获取指定返回值

当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用.我们通常的做法有如下几种: 1.先 select max(id) +1 ,然后将+1后的值作为主键插入数据库: 2.使用特定数据库的 auto_increment 特性,在插入数据完成后,使用 select max(id) 获取主键值: 3.对于Oracle,使用 sequence 获取值. 对于以上3种方法都无法绝对保证在高并发情况下的操作的原子性. 现记录以下几种获取数据库主键值方法: 1.数据库原生支持的sql

java 执行 sql 文件报错 求大神帮忙解决 急急急!!!!

问题描述 java 执行 sql 文件报错 求大神帮忙解决 急急急!!!! sql文件里边的内容 /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50096 Source Host : localhost:3306 Source Database : cemscenter1 Target Server Type : MYSQL Target Server Version :

SQL Server联机丛书:执行存储过程

server|存储过程|执行 EXECUTE执行标量值的用户定义函数.系统过程.用户定义存储过程或扩展存储过程.同时支持 Transact-SQL 批处理内的字符串的执行 若要唤醒调用函数,请使用 EXECUTE stored_procedure 中描述的语法.语法执行存储过程:[ [ EXEC [ UTE ] ]     {          [ @return_status = ]             { procedure_name [ ;number ] | @procedure_n

启动SQL SERVER时自动执行存储过程

如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ---------------------------------------------------------------

动SQL SERVER时自动执行存储过程

server|存储过程|执行 如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ------------------------------------------------

在C#中用最简洁有效的代码执行存储过程并返回数据

存储过程|数据|执行 存储过程 p_sys_Login 定义如下: CREATE PROCEDURE p_sys_Login @argUserID varchar(20), --用户名 @argPassword varchar(20), --密码 @argResult varchar(50) OUTPUT --登录结果 AS /* ... ... */ 下面演示如何在C#中用最简洁有效的代码执行该存储过程并返回数据: /// <summary> /// 用户登录验证 /// </summ

oracle中如何执行存储过程和创建存储过程

创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(&apos;The input date is:&