既存の SQLite DB を WinDev Mobile 21 で更新しようとしています。DB にはデータが保存されており、それを失いたくありません。
プロジェクトの分析を更新してテーブルに列を追加しましたが、.db ファイルの構造が予想と異なるため、アプリで開くことができません。
最初に、SQL「ATER TABLE」ステートメントを使用して新しい列を.dbファイルに追加することを考えましたが、方法がわかりません。そこで、開く前に古いDBに接続し、既存のデータを一時的なデータソースにコピーし、ファイルを削除し、新しい構造で新しいものを作成し、保存されたデータをそこにコピーしようとしました。
これは私が試したコードです。情報関数はレコード数を返す必要がありますが、0 を返します。HOpenConnection() と HExecuteSQLQuery() は成功しています。
ProductesTemp is Data Source
HDescribeConnection("Temp","","","/sdcard/Android/data/com.dbases/ficheret.db/ficheret.db","ficheret",hNativeAccessSQLite,hOReadWrite)
IF HOpenConnection("Temp") THEN
IF HExecuteSQLQuery(ProductesTemp,"Temp",hQueryDefault,"SELECT * FROM Productes") THEN
Info("HRecNum: " + HRecNum(ProductesTemp))
ELSE
Info("HExecuteSQLQuery Error", HErrorInfo(hErrFullDetails))
END
ELSE
Info("HOpenConnection Error", HErrorInfo(hErrFullDetails))
END