0

既存の 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
4

1 に答える 1

0

HOpenConnection() と HExecuteSQLQuery() が成功したかどうかを確認する必要があります。ある場合は true を返す必要があります。それ以外の場合は、次のような方法で情報を取得する必要があります。

IF NOT(HOpenConnection("TEMP"))
Info(HErrorInfo(hErrFullDetails))
END

それは何と言っていますか?

于 2016-05-18T15:25:25.490 に答える