var conn = Jdbc.getCloudSqlConnection(db);これは、先のサンプルと同じです。最初にこのオブジェクトを用意するのはJdbc利用の基本中の基本です。
var query = "insert into persondata (name,mail) values (?,?)";実行するSQLのクエリー文を用意します。ここで注意したいのは、最後の方にある「?」記号です。レコードの追加などの操作を行うときは、SQLのクエリー内に必要に応じて値を設定して実行するような形で処理するのが一般的です。
var stmt = conn.prepareStatement(query);クエリーの実行は、JdbcStatementではなく、JdbcPrepareStatementというオブジェクトを使います。これはあらかじめオブジェクトを作成しておき、いろいろと操作や編集をしてから(この間、クエリーは実行されない)、最後にクエリー実行する、というような使い方をするのに用いられます。
stmt.setObject(1, name_str);クエリーの「?」部分に値を設定していきます。これは「setObject」というメソッドで行えます。第1引数に設定する?の番号(最初が1番になる)を、そして第2引数に設定する値をそれぞれ用意します。
stmt.setObject(2, mail_str);
stmt.addBatch();
stmt.executeBatch();executeBatchにより、addBatchされた修正情報などをすべて実行します。つまり、ここでクエリーが実行され、データベースが操作されることになります。
stmt.close();最後に、利用したオブジェクトのcloseを順に呼び出してリソースを開放すれば終了です。
conn.close();
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
var db = "jdbc:google:rdbms://<インスタンス>/mydb"; function addRow(){ var name_str = Browser.inputBox("Name"); var mail_str = Browser.inputBox("Mail"); var conn = Jdbc.getCloudSqlConnection(db); var query = "insert into persondata (name,mail) values (?,?)"; var stmt = conn.prepareStatement(query); stmt.setObject(1, name_str); stmt.setObject(2, mail_str); stmt.addBatch(); stmt.executeBatch(); stmt.close(); conn.close(); Logger.log("close"); Browser.msgBox("登録しました。"); }
<< 前へ |