2017-03-20 6 views
-1

javaを使用してupdate sqlのカラムと値のリストを知る必要があります。コードは、更新クエリを読み取って、update SQLを実行する前に実際の列の値をバックアップすることです。これは、列名を知る必要があるためです。お知らせ下さい!実行前にupdate sqlのカラム名とカラム値が必要です

sql = update testenv.employee set gender = '2'、StudentInd = '112233'ここでempIDは(987987)です。

String criteriaQuery = resultset.getString("query"); // this is the update statement which is not constant and varies everytime. 

文字列スキーマ= StringUtils.substringBetween(criteriaQuery.toUpperCase()、 "更新"、 "")(トリム)。
String table = StringUtils.substringBetween(criteriaQuery.toUpperCase(), ".", "SET").trim(); String columnName = StringUtils.substringBetween(criteriaQuery.toUpperCase(), "SET", "=").trim();

しかしCOLUMNNAMEは正しい列を取得することはありません。更新クエリから列名全体を取得できるように、コードを最適化する必要があります。

+0

これを達成するにはJavaコードが必要です。 – G3S

+0

最初に 'SELECT'文を実行して詳細を取得して保存し、その後に' UPDATE'文を実行できますか? JDBCチュートリアルからその方法を学ぶことができます。 – Matt

+0

さて、select文を実行する必要があります。これは、私が更新を指示されたカラムを知る必要があります。要件は、更新ステートメントが提供される、Javaコードは、ステートメントを読んで、更新クエリからcol名とテーブル名を取得し、selectステートメントコードを使用して実際のデータをバックアップする必要があります。バックアップが完了すると、更新クエリが実行されます。 – G3S

答えて

0

あなたはJDBCを使用している場合は、以下を使用することができます。

ResultSetMetaData md = rs.getMetaData(); 

SELECT文の結果セットを取得した後。
http://www.roseindia.net/jdbc/jdbc-mysql/DiscriptionTable.shtml
明確な例を示します.SQLServerデータベースとOracleにも同じことが言えます。

関連する問題