2012-02-09 6 views
0

853拡張ライブラリでJDBCを使用しているXPageからDB2のレコードを更新および削除するのに少し苦労しました。XPageのDB2では更新と削除が機能しません

まず、@JDBCInsertが完全に機能することを確認できます。また、DB2のデータをさまざまな方法で表示することもできます。ただし、更新や削除を実行しようとすると、機能しません。

私の最初の試みはJDBCRowSetデータソースを使用していました。ここでのアイデアは、キャッシュされた結果セットを使用して作業し、最後にDB2に変更をコミットすることでした。値を変更して削除を実行することでキャッシュされた結果セットを操作できましたが、dataset.acceptChanges()関数を実行すると、次のメッセージが表示されます:

JavaクラスのacceptChangesログからの 'com.ibm.xsp.extlib.jdbc.model.JdbcRowSetAccessor'

別のメッセージがある:

DB2 SQLエラー:SQLCODE = -270、SQLSTATE = 42997、SQLERRMC = 53、DRIVER = 3.57.82

私はDB2に管理者としてログインするので、特にレコードを挿入できるため、アクセスの問題にはなりません。私は、接続マネージャーコントロールを使用してAutoCommit = trueを設定しようとしましたが、返されるエラーは変更されません。

次に、キャッシュされた結果セットを使用する代わりに、@ JDBCUpdateを使用して更新を実行しました。この関数は機能しませんが、エラーも返されません。まるで何もしないかのようです。

最後に、@ JDBCExecuteQueryを実行して更新を試みましたが、この関数を使用して更新を実行できないというメッセージが返されました。

はここで失敗したことを私が試したもののいくつかの例です:

ここで私は、私はJSONとしてパースすることを変更したい値である//。

var v = { 
     VENUE_NAME: getComponent("inputVenue").getValue(), 
     ADDRESS: getComponent("inputTextareaAddress").getValue(), 
     TEL_NUMBER: getComponent("inputTelNumber").getValue(),  
     CELL_NUMBER: getComponent("inputCellNumber").getValue(), 
     EMAIL: getComponent("inputEmail").getValue(), 
     RATE: getComponent("inputRate").getValue(), 
     INCLUDES: getComponent("checkIncludes").getValue() 
    } 

@JdbcUpdate( "DB2"、 "表"、V、 "ID = 123")。

@JdbcUpdate( "db2"、 "TABLE"、v、 "ID = '123'");

//同じJSON配列を使用するこの挿入関数が機能します。

@JdbcInsert( "db2"、 "TABLE"、v);上記のエラーメッセージ

JDBCRowSet.acceptChangesを返す行セットを、()を使用して、変更をコミットしようとしたとき

//私はこれを使用します。

私はこれにかなりの時間を費やしましたが、今は私の心が揺れ動いています。

助けてください。 ありがとうございます。このマニュアルの

@JdbcUpdate("dt2","users",v,"id=?",id) 

答えて

0

私が試してはlib EXTのこの部分を与えるためには至っていない、しかし私はあなたの構文は、私が覚えているよりも異なっている気づくでしたが、それはこのように表示されます。

http://library.constantcontact.com/download/get/file/1102786224071-334/2011NOV18+XPages+Goes+Relational.pdf

+0

こんにちは。私は月曜日にこれをチェックします。フィードバックに感謝します。 –

+0

ありがとうございます。私は行方不明だった? –

+0

これはうまくいった。 –