-1
私はテキスト領域の任意のSQL文を入力できるプログラムを作成しようとしています。それがクエリでない場合は、影響を受けた行をラベルに表示するか、クエリであれば結果を表示します。私は結果セットでjtableを埋める方法を知っています。しかし、私はちょっと質問と非クエリーの部分を貼り付けました。Java、TextAreaを使用してSQL文を作成する
私はテキスト領域の任意のSQL文を入力できるプログラムを作成しようとしています。それがクエリでない場合は、影響を受けた行をラベルに表示するか、クエリであれば結果を表示します。私は結果セットでjtableを埋める方法を知っています。しかし、私はちょっと質問と非クエリーの部分を貼り付けました。Java、TextAreaを使用してSQL文を作成する
あなたが好きSTHで行くことがあります。あなたはgetConnection()
フィールドを埋めるために持っているとあなたがベクトルのベクトルはに渡すようになるだろう原因そしてuは、TextArea.getText()
文字列を渡すExecuteQuery
を呼び出してからのJTableを作成することも
package default;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
public class DBConnector {
private static Connection getConnection() throws SQLException
{
String url = "your-url";
String user = "user";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
public Vector<Vector<String>> ExecuteQuery(String query)
{
Statement stmt = null;
ResultSet rs = null;
//Vector of vectors for JTable
Vector<Vector<String>> data = new Vector<Vector<String>>();
try {
//Create new statement
stmt = getConnection().createStatement();
//Execute given `query`
rs = stmt.executeQuery(query);
if (stmt.execute(query)) {
rs = stmt.getResultSet();
}
//while there are some rows
while(rs.next())
{
//Create new Vector
Vector<String> temp = new Vector<String>();
int numColumns = rs.getMetaData().getColumnCount();
//Put data into that vector
for (int i = 1 ; i <= numColumns ; i++) {
temp.addElement(rs.getString(i));
}
//Add vector to `data`
data.add(temp);
}
}
catch (SQLException ex){
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException sqlEx) { }
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqlEx) { } // ignore
stmt = null;
}
}
//Return
return data;
}
}
ファーストJTable。
希望私は:)
を助けたあなたは「選択」と比較して、それは 'insert'または' DELETE'コマンドの場合のようなものを意味しますか? – MadProgrammer
'Statement'インターフェースの' execute'メソッドを使います。その戻り値は、取得するResultSetがあるかどうかを示します。 –
私はプロジェクトとしてミニplsql開発者ウィンドウを構築しようとしていますので、SQL文を入力できる理由は? –