私はINTEGER
と私の2番目のパラメータを登録する私の結果セットの結果を取得しようとしています。私が読んだことから、結果セットを使用してオブジェクトを取得する前に、まずオブジェクトを取得する必要があります。getObjectメソッドを使用して結果セットから結果を取得する方法は?
コード
try (Connection myConn = DBUtil.connect();
CallableStatement myFirstCs = myConn.prepareCall("{call getSECTION_NAME(?,?)}"))
{
myFirstCs.setString(1, searchSection);
myFirstCs.registerOutParameter(2, Types.INTEGER);
myFirstCs.executeUpdate();
String name = null;
System.out.println(myFirstCs.getObject(2));
ResultSet myRs = null;
myRs = (java.sql.ResultSet)myFirstCs.getObject(2);
while (myRs.next()) // Retrieve result set rows
{
name=myRs.getString(1);
System.out.print("Section Name: "+name);
}
myRs.close();
は、この結果セットを取得する適切な方法ですか?リソースでtryを使ってこのメソッドを試してみます。私はここで何かを逃したResultSet myRs = myFirstCs.getObject(2, type)
私は私の2番目のパラメータに入れてわからない?
サンプルのみ
try (ResultSet myRs = myFirstCs.getObject(2, type))//What should I put here?
{
while (myRs.next())
{
name = myRs.getString(1);
System.out.print("Section Name: "+name);
}//end of while
}
コメントをお気軽に。どんな助けもありがたいです。ありがとうございました。
イマイチ 'myFirstCs.getInt(2)'作業をワーク・すべきだと思います? – Rehman
2番目の引数は、oracle docから確認できるsqlTypeです。https://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html sqlType - JDBCのタイプ・コードjava.sql.Typesによって定義されています。パラメータがJDBC型NUMERICまたはDECIMALの場合、スケール値を受け入れるバージョンのregisterOutParameterを使用する必要があります。 –
真剣にも、これは、以前の質問と重複して、若干言い換えられたものです。私は毎日閉じておく必要がありますか? –