2

使用 Ruby 2.0、Qt4 gem 和 Mysql2 gem。我需要比较两个lineedit的文本并用它们进行查询,到目前为止这是失败的。

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "123456", :database => "school")
# text of both lineedits saved into local variables
tName=@leName.text() 
tPass=@lePass.text()
#then
res= client.query("SELECT usr_name, usr_pass, usr_tipo FROM user WHERE usr_name = tName AND usr_pass = tPass")

唯一失败的是那个查询。我试图将局部变量作为全局变量(@tName,@tPass),或者将它们放入#{},它搜索名为 tName 和 tPass 的表用户中的列,也尝试将它们放入 '' 但是只搜索名为 tName 的用户。

我希望查询搜索 usr_name="text inside tName"。我究竟做错了什么?

编辑:如果您想知道,tName、tPass 是字符串,而字段 usr_name 和 usr_pass 是 varchar(50)。

4

1 回答 1

1

看起来你没有插入变量。请执行下列操作

res= client.query("SELECT usr_name, usr_pass, usr_tipo 
                   FROM user 
                   WHERE usr_name = '#{tName}' AND usr_pass = '#{tPass}'")
于 2014-06-12T02:11:35.480 回答