クラスパスで次のプログラムをsqljdbc4.jarで実行しました。 EMPLOYEE表に従業員名DEMOのデータがありますが、次のプログラムはDEMOのデータを検索していません。同じプログラムがMerlia.jarでクラスパスで実行されたときに、DEMOのデータを取得していました。Prepared StatementのバインドがMicrosoft SQL Server JDBCドライバsqljdbc4.jarで機能しない
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://SERVER23:5000;databaseName=TESTDB", "SYSADM", "SYSADM");
String sqlSele = "SELECT * FROM EMPLOYEE WHERE EMPNAME like ?" ;
PreparedStatement sts = con.prepareStatement(sqlSele);
sts.setString(1, "DEMO");
ResultSet rs = sts.executeQuery();
while(rs.next())
{
System.out.println("driverConn.main()" + rs.toString());
}
}
catch(Exception e)
{
System.out.println(e);
e.printStackTrace();
}
(なしsetStringメソッドは、ここで使用されていない)「 'DEMO' のようなEMPNAME EMPLOYEE * FROMをSELECT」としてSQL文を修正し、再度プログラムを実行し、この時間は、私は結果を得た。
誰かがこの問題から私を助けることができる。また、あなたはtoString()
はあなたを与えるものは何でも、結果セット内の列にアクセスしないようにしたいことがあり
sqljdbc4.jarを使用しているとき、これらのタイプの問題に直面したことがありますか?同じプログラムがMerlia.jarでうまく動作しています。 –
私はsystem.out.printステートメントでrs.getString(1)を使用しましたが、それでもコンソールには出力がありません。 –
SQLステートメントを "SELECT * FROM EMPLOYEE WHERE EMPNAME like 'DEMO'"(バインドにsetStringを使用しないで)と使用したときに、コンソール上に出力が表示されるため、問題がsetString() –