【发布时间】:2016-07-09 17:07:23
【问题描述】:
我不断收到以下错误消息:
.rb:215:in
block in collectData': undefined methodquery' for nil:NilClass (NoMethodError)
这是我的代码:
databases = {
'aaa': Mysql2::Client.new(
host: '',
username: '',
password: '',
database: ''
),
'bbb': Mysql2::Client.new(
host: '',
username: '',
password: '',
database: ''
)
}
client1.query(" bla bla bla").each do |row|
if row['mmm'] == 99
# Look in next db
next_db = databases[row['db']]
row2 = next_db.query("SELECT...")
我从我的第一个 sql 查询中获取数据库的名称 client1.query,例如 row['db'] = "aaa" 或 "bbb"。
对于测试,这样的东西也不起作用:
client1.query(" bla bla bla").each do |row|
if row['mmm'] == 99
# Look in next db
next_db = databases['aaa']
row2 = next_db.query("SELECT...")
类似这样的工作:
client1 = Mysql2::Client.new(
host: '',
username: '',
password: '',
database: ''
)
client2 = Mysql2::Client.new(
host: '',
username: '',
password: '',
database: ''
)
client1.query(" bla bla bla").each do |row|
if row['mmm'] == 99
# Look in next db
next_db = client2
row2 = next_db.query("SELECT ")
我似乎无法理解为什么我的方法是“未定义的”。
请帮忙,
谢谢!
【问题讨论】: