我正在尝试使用 WinDev Mobile 21 更新现有的 SQLite 数据库。数据库已存储数据,我不想丢失它。
我已经更新了项目中的分析,将列添加到表中,现在应用程序无法打开它,因为 .db 文件的结构与预期不同。
首先,我想使用 SQL“ATER TABLE”语句并将新列添加到 .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