数据库操作的疑问?怎么没有提交呢?
如下数据库操作Global $db_path = "update.db" ;数据库配置信息
_SQLite_Startup() ;加载 SQLite.dll
If Not FileExists($db_path) Then
MsgBox(16, "数据库错误", "无法打开产品信息数据库,请检查配置文件或数据库文件")
EndIf
_SQLite_Open($db_path)
Dim $rows, $aRow
_SQLite_Query(-1, "SELECT ID FROM UpdateTable where lastUpdateDate != '2009/01/05'or lastUpdateDate is null order by id limit 3", $rows)
While _SQLite_FetchData($rows, $aRow) = $SQLITE_OK
;执行相关的操作,此处省略
;下面将操作过的ID执行更新操作
Local $sql = "update updateTable set lastUpdateDate='1-2-1' where id='"& $aRow &"' "
$err = _SQLite_Exec(-1, $sql)
MsgBox(0, "操作结果", $sql & ",操作结果" & $err)
WEnd
_SQLite_Close()
可是每次执行更新操作,都没有立即提交更新的操作,
只能够等到所有的结果遍历完了才能够更新数据库,
请问,怎样才能够立即就提交更新的操作呢?
谢谢!
[ 本帖最后由 jedliu 于 2009-1-6 13:37 编辑 ] 这样的操作是不正确的,因为执行update的语句在query的循环之内,导致update的操作只有等到query的循环结束后才可以提交,
现在我改了一下程序,使用_SQLite_GetTable2d 将query结果取得放到数组中,
然后遍历数组在执行更新的操作即可。
具体的帖子,可以参考 http://www.autoitscript.com/forum/index.php?showtopic=87170
页:
[1]