当前位置: 技术问答>java相关
请教一个JDBC调用SQL Server 存储过程的问题
来源: 互联网 发布时间:2015-07-13
本文导语: 我用JDBC调用SQL Server 存储过程时,碰到一些问题,代码如下: 不知为什么output参数取不出来,另外当我的output类型是int型时,st.getInt(1),会出现类型错误. CREATE PROCEDURE sele_proc @nameid varchar(4) output as set @nameid='abc' select...
我用JDBC调用SQL Server 存储过程时,碰到一些问题,代码如下:
不知为什么output参数取不出来,另外当我的output类型是int型时,st.getInt(1),会出现类型错误.
CREATE PROCEDURE sele_proc
@nameid varchar(4) output
as
set @nameid='abc'
select * from t_taglon
return (1)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection dh=DriverManager.getConnection("jdbc:odbc:nttdbas","sa","");
CallableStatement st=dh.prepareCall("{call sele_proc (?)}");
st.registerOutParameter(1,java.sql.Types.VARCHAR);
st.execute();
String b=st.getString(1);
System.out.println(b);
ResultSet rst=st.getResultSet();
while(rst.next())
{
System.out.println(rst.getObject(1));
}
不知为什么output参数取不出来,另外当我的output类型是int型时,st.getInt(1),会出现类型错误.
CREATE PROCEDURE sele_proc
@nameid varchar(4) output
as
set @nameid='abc'
select * from t_taglon
return (1)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection dh=DriverManager.getConnection("jdbc:odbc:nttdbas","sa","");
CallableStatement st=dh.prepareCall("{call sele_proc (?)}");
st.registerOutParameter(1,java.sql.Types.VARCHAR);
st.execute();
String b=st.getString(1);
System.out.println(b);
ResultSet rst=st.getResultSet();
while(rst.next())
{
System.out.println(rst.getObject(1));
}
|
try
st.execute();
ResultSet rst=st.getResultSet();
while(rst.next())
{
System.out.println(rst.getObject(1));
}
String b=st.getString(1);
System.out.println(b);
st.execute();
ResultSet rst=st.getResultSet();
while(rst.next())
{
System.out.println(rst.getObject(1));
}
String b=st.getString(1);
System.out.println(b);