2017-02-21 15 views
-3

私は、JavaとSQLツールを作りたい、私はコマンドを確認するために最初にしようとした真か偽その後、PIC実行JDBC Javaで任意のSQLコマンド

で説明したように、今私は、コマンドで、それが中に更新した場合に実行したいですデータベースの行数が更新され、行が選択された場合はResultSetが返されます。

public Object run(String command){ 
Boolean flag: runAnyCommand(command); 
Object data=nu11; 
if(f1ag){ 
System.out.print1n(“trueeeeeeeeeeee”); 

try { 
Object s= st.execute(command); 

if(s instanceof ResultSet){ 

data=(ResultSet) s; 
System.out.println(“result set ”); 
} 

else if(s instanceof Integer){ 

data=s; 
System.out.print1n(“update ant the rows is “+S); 
    } 

    } catch (SOLException ex) { 
    Logger.getLogger(dbOperations.class.getName()).log(Level.SEVERE, hull,  ex); 
} 

答えて

1

画像はそれが

1

このコードは正しくありません。 (JDBC)Statement.executeメソッドは、Objectではなくbooleanを返します。それをObjectに割り当てると、それはBooleanとして自動化されます。したがって、ResultSetまたはIntegerを取得しようとするコードは決して実行されません。

あなたはexecute(String)で実行されたSQL文のResultSetまたは更新カウントを取得したい場合は、Statementオブジェクト上getResultSet()getUpdateCount()を呼び出す必要があります。

Statement.execute(String)javadocは、詳細を提供し、上記の方法へのリンクを提供します。

+0

は、それが解決し、私はgithubののHTTPSのコードをアップロードしていただきありがとうございます(選択の場合には、更新または配列リストの場合にはブーリアン)オブジェクトを返す例として、私は、サーブレットでそれを呼び出されるメソッドが含まれています:// github.com/ShiboTanany/SQLTool –

関連する問題