简体   繁体   English

在Java中调用MSSQL存储过程

[英]Calling a MSSQL stored procedure in Java

I have access to a stored procedure on a sql server which has one parameter and I can easily run it on the sql client as follow: 我可以访问具有一个参数的sql服务器上的存储过程,并且可以在sql客户端上轻松运行它,如下所示:

exec sp_name "2016/11/01"

Now I want to do the same thing in java. 现在我想在java中做同样的事情。

PreparedStatement ps = conn.prepareStatement("sp_name ?");
ps.setString(1, "2016/11/01");
ResultSet rs = ps.executeQuery();

In rs I can see the columns' names, but zero row is returned. rs我可以看到列的名称,但是返回零行。 I think it is because of the stored procedure's parameter. 我认为这是因为存储过程的参数。 Am I missing something here? 我在这里想念什么吗?

Here is the code that worked eventually: 这是最终起作用的代码:

String date= "2016/11/01"
String queryString "exec sp_dmp_pub_status ?";
PreparedStatement ps = conn.prepareStatement(queryString);         
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
Date parsed = format.parse(date);
java.sql.Date sqlDate = new java.sql.Date(parsed.getTime());
ps.setDate(1, sqlDate);        
ResultSet rs = ps.executeQuery();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM