1

我正在 Mac OS X 10.7 (Build: 11A511) Lion 上使用 AppleScript 2.2 制作 AppleScript 应用程序。我的应用程序正在做的是捕获当前的 iTunes 歌曲,如果歌曲与上一首不同,则将其存储。然后我告诉它获取当前歌曲并使用数据库事件将其放入 SQLite 文件中。基本上是将当前歌曲添加到新字段,但是当歌曲更改时,它说没有旧字段,然后写入歌曲(过程重复......);在它进入场地后我确实有一个保存。

我的代码如下:

        if currentsong is not equal to previous_song then

    tell application "Database Events"
        tell database "songlist"
            set song to make new record with properties {name:"songs"}
            set song_count to count fields
            tell song
                make new field with properties {name:currentsong, value:song_count + 1}
            end tell
        end tell
        save database "songlist"
    end tell

end if
4

1 回答 1

2

您似乎对记录和字段感到有些困惑。数据库有记录,记录有字段。在您的代码中,您告诉数据库计算字段......这是一个问题,因为数据库有记录,而不是字段。

因此,将设置 song_count 的“字段”更改为“记录”。此外,如果您希望该计数正确,则将该行放在创建新记录的位置之前,因为您试图在添加新记录之前获取计数。

于 2011-07-26T09:41:51.917 回答