私は既存のSQLite DBをWinDev Mobile 21で更新しようとしています.DBにはデータが保存されており、失いたくありません。WinDev MobileのSQLite DBを更新してください
私は、テーブルに列を追加するプロジェクトの分析を更新しました。そして、.dbファイルの構造が予想と異なっているため、アプリケーションはそれを開くことができません。
まず、SQLの「ATER TABLE」ステートメントを使用して、新しいカラムを.dbファイルに追加することを考えましたが、どういうことがあるのか分かりません。だから私はオープンする前に古いDBに接続しようとしました、既存のデータを一時的なデータソースにコピーし、ファイルを削除し、新しい構造で新しいファイルを作成し、そこに保存されたデータをコピーします。
これは私が試したコードです。info関数はレコード数を返さなければなりませんが、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
HOpenConnection()およびHExecuteSQLQuery()が成功した場合、Info()は "HRecNum:0"を出力します。私はちょうどあなたの提案でコードを更新しました。 –
HexecuteSQLQuery(ProductesTemp、 "Temp"、hQueryWithoutCorrection、 "SELECT * FROM Productes")で試してみることはできますか? – Bidjes
違いはありません –