我正在用MacOSX10.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发布于 2011-07-26 17:41:52
看起来你对记录和字段有点迷惑。数据库有记录,记录有字段。在您的代码中,您告诉数据库对字段进行计数...这是一个问题,因为数据库有记录,而不是字段。
因此,在设置song_count的地方将“字段”更改为“记录”。此外,如果您希望计数正确,请将该行放在创建新记录的位置之前,因为您要在添加新记录之前获取计数。
https://stackoverflow.com/questions/6824569
复制相似问题