2016-04-29 11 views
2

複数のSQLコマンドを実行しようとしていますが、SQL文でエラーが発生します。複数のsqlコマンド

Db_Connection dbconn = new Db_Connection(); 
Connection myconnection = dbconn.Connection(); 
String sqlString = "SELECT DISTINCT std_id FROM std_crs WHERE crs_id ='222123'; " 
    + "SELECT * FROM cplus_grades ;"; 
Statement myStatement = myconnection.createStatement(); 

boolean results = myStatement.execute(sqlString); 
do { 
    if (results) { 
      ResultSet rs = myStatement.getResultSet(); 

      while (rs.next()) { 
      } 
      rs.close(); 
    } 
    results = myStatement.getMoreResults(); 
} while(results); 

myStatement.close(); 
+0

https://msdn.microsoft.com/en-us/library/ms378758(v=sql.110).aspx チェックこのリンクでなければなりません..私は同じことをやっています私はそう思いますよね? –

+1

+1この機能を表示します。たぶん、SQL文字列の最後のセミコロンを削除する必要があります。この機能は、すべてのJDBCドライバでサポートされているわけではありません。どのドライバとデータベースを使用していますか?あなたのリンクのようなSQLサーバーですか? – wero

+0

私はphpMyAdmin –

答えて

3

私は3つのJDBCドライバで小規模なテストをした:2つの結果が

  • MySQLの設定を返し、作品:

    • MS SQL構文エラーで失敗する - それはあなたが
    • を見ているものです
    • HSQLDB:実行されますが、結果セットは1つだけ返されます。

    このテクニックが動作する場合、JDBCドライバに依存していると思います。たぶんそれはMS SQL JDBCでのみ動作します。

    UPDATE:

    また、Postgresので動作します。

  • 1

    お願い 1.文字列dbUrl = "jdbc:mysql:// yourDatabase?allowMultiQueries = true"; これはあなたのJDBC接続URL

    関連する問題