我尝试使用private bool canEdit;
public bool CanEdit
{
get { return canEdit; }
set { SetProperty(ref canEdit, value); }
}
和Sequel gems来检索数据并将数据从JSON哈希存储到数据库,但它始终返回每个单元格中带引号的值和开头的方括号字符串的结尾。我该如何解决这个问题?
代码:
pipedrive-ruby
尝试插入数据库时出现错误:
query_values = activities.map do |activity|
"#{activity['id']}"
end
query = "INSERT INTO pd_activities (id) VALUES (#{query_values})"
insert_ds = DB[query]
insert_ds.insert
答案 0 :(得分:2)
您以不正确的方式使用字符串插值将值包含在SQL语句中。
这将起作用,而不是:
query = "INSERT INTO pd_activities (id) VALUES ("#{query_values.join(', ')}")"
如果activities
中的值是整数,则可以在activities.map
步骤中避免字符串插值。要做到这一点,只需使用:
query_values = activities.map {|activity| activity['id'] }
如果activities = [12, 34, 98, 142]
,则会产生:
"INSERT INTO pd_activities (id) VALUES (12, 34, 98, 142)"
但是,如果activities
中的值是字符串,则应该改为:
query_values = activities.map {|activity| "'#{activity['id']}'" }
如果activities = ["12", "34", "98", "142"]
,则会产生:
"INSERT INTO pd_activities (id) VALUES ('12', '34', '98', '142')"