什么';在Ruby中,判断SQLite是否返回一行的最简单方法是什么?
我对Ruby非常陌生,我将它与SQLite一起使用 我已经编写了register和deregister函数,但是我一直在编写一个函数来告诉给定的用户是否在数据库中注册 这是当前代码:什么';在Ruby中,判断SQLite是否返回一行的最简单方法是什么?,ruby,sqlite,Ruby,Sqlite,我对Ruby非常陌生,我将它与SQLite一起使用 我已经编写了register和deregister函数,但是我一直在编写一个函数来告诉给定的用户是否在数据库中注册 这是当前代码: def registered?(l) db = SQLite3::Database.new "database.db" db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1]) end 判断SQLite是否向该查询返回了一行的最简单方法是什么
def registered?(l)
db = SQLite3::Database.new "database.db"
db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
end
判断SQLite是否向该查询返回了一行的最简单方法是什么
更新
谢谢你对如何做的建议。以下是更新的代码:
def registered?(l)
db = SQLite3::Database.new "database.db"
results = db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
!results.empty?
end
我正在使用它:
if registered?(@nick)
...
end
但我想这是不对的,因为注册
@nick
时,@nick
下的代码不会被触发。我有两个在同一个类用户
。我做错什么了吗?响应不应该是空数组:
res = db.execute("SELECT user FROM t1 WHERE user = ?, ", l[1])
if !res.empty?
# some row is returned
end
执行的结果是一个数组():
然后你会说
@user.registed?
谢谢你的回答。你能在问题中检查我的更新代码吗?注册的方法在哪里?在用户类中?不要“演变”这样的问题。它使现有的答案无效。相反,要问单独的问题。
class User
def registered?
db = SQLite3::Database.new "database.db"
results = db.execute("SELECT user FROM t1 WHERE user = ?, ", self)
!results.empty?
end
end