这是我在 stackOverflow 上的第一个问题。我正在使用 Corona,但在访问 SQLdb 时遇到问题(我有点 SQL 菜鸟。)
我正在尝试访问并返回我存储在数据库中的值。以下是一些代码示例:
print("---------------- How I Create New Player Save Data")
local entry = [[CREATE TABLE IF NOT EXISTS playerData (key STRING PRIMARY KEY, content INTEGER);]]
db:exec(entry)
entry = [[INSERT INTO playerData VALUES ("LastLoginTime", 0);]]
db:exec( entry )
entry = [[INSERT INTO playerData VALUES ("Credits", 1000);]]
db:exec( entry )
entry = [[INSERT INTO playerData VALUES ("Level", 1);]]
db:exec( entry )
现在这个函数可以工作了,它将打印数据库中的所有内容(我传入'dbName'):
--print all the table contents
for row in db:nrows("SELECT * FROM "..dbName) do
local text = row.key..": "..row.content
end
这不起作用,它返回“0”:
local grabCredits = "SELECT content FROM playerData WHERE key='Credits'"
local credits = db:exec(grabCredits)
print("-- value: "..credits)
这也没有,也返回“0”:
local grabCredits = "SELECT key FROM playerData WHERE content>=10"
local credits = db:exec(grabCredits)
print("-- value: "..credits)
我不明白我做错了什么。也许我需要在数据库上使用除 exec() 之外的另一个函数调用。我意识到每次我想访问单个条目时都可以遍历数据库,但这似乎效率低下。
很感谢任何形式的帮助。