Q39:データベースアクセスコンポーネントについてですが、「検索結果を用いたテーブル更新処理」の使用はODBC接続ではできないのでしょうか?たとえばEXCELファイルをDSN(ODBC)接続で更新をかけるのに利用する場合。
A39:
ODBC接続のうち、残念ながらEXCELでは現在のところ使用できないようです。
他のデータベースソフトでは「検索結果を用いたテーブル更新処理」を利用することができますが、JDBCドライバー接続を基本にお勧めしておりますので、ODBC接続を行うACCESSについてご説明致します。
1.各メソッド「insertRow 」「UpdateRow」等、使用することができますが、不安定さを避けるために「startUpdate」「finishUpdate」、またできれば「データベースとの接続を切断する()」は細目に実行して頂くのが良いようです。
2.オートナンバー型の場合はinsertの際、該当セルに値を入れたままではエラーとなります。ACCESSの場合、何故かupdate時にも値を入れたままでは「行にエラーがあります」のエラーが出ます。
3.値NULL不可の場合には、該当セルに値を入れなくては更新ができません。
元々行データのない「insert()」も実行できません。
列データ型(オートナンバーはJavaではCounter型)と値NULL可かどうかは、[データベースアクセス]の「メソッド:getColumns()」で得られるテーブルで取得することができます。