找回密码
 加入
搜索
查看: 1254|回复: 1

数据库操作的疑问?怎么没有提交呢?

[复制链接]
发表于 2009-1-5 21:18:34 | 显示全部楼层 |阅读模式
如下数据库操作
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[0] &"' "
        $err = _SQLite_Exec(-1, $sql)
        MsgBox(0, "操作结果", $sql & ",操作结果" & $err)
WEnd
_SQLite_Close()


可是每次执行更新操作,都没有立即提交更新的操作,
只能够等到所有的结果遍历完了才能够更新数据库,
请问,怎样才能够立即就提交更新的操作呢?
谢谢!

[ 本帖最后由 jedliu 于 2009-1-6 13:37 编辑 ]
 楼主| 发表于 2009-1-6 13:51:27 | 显示全部楼层
这样的操作是不正确的,因为执行update的语句在query的循环之内,导致update的操作只有等到query的循环结束后才可以提交,

现在我改了一下程序,使用_SQLite_GetTable2d 将query结果取得放到数组中,

然后遍历数组在执行更新的操作即可。

具体的帖子,可以参考 http://www.autoitscript.com/forum/index.php?showtopic=87170
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-1 16:09 , Processed in 0.070242 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表