【发布时间】:2015-04-24 19:14:10
【问题描述】:
我在 Rails 项目中使用 tiny_tds gem(使用旧版 MSSQL 2008 数据库)
我执行以下查询:
update_comment_result = self.get_pmi_client.execute("UPDATE UECOMCLI SET COMMENT = '" + params[:comment] + "' " +
"WHERE ECKTSOC = '" + params[:lcktsoc] + "' AND ECKTNUMERO = '" + params[:lcktnumero] + "' AND ECKTINDICE = '" + params[:lcktpsf] + "' \n" +
"IF @@ROWCOUNT = 0 \n
INSERT INTO UECOMCLI (ECKTSOC, ECKTNUMERO, ECKTINDICE, COMMENT) VALUES ('" + params[:lcktsoc] + "', '" + params[:lcktnumero] + "', '" + params[:lcktpsf] + "', '" + params[:comment] + "')")
之后,我无法确定查询是否成功。我试过使用:
update_comment_result.affected_rows
返回-1
我也试过
update_comment_result.each
update_comment_result.return_code
返回nil
和
update_comment_result.each
update_comment_result.affected_rows
返回-1
查询成功是因为数据库发生了变化,为什么会出现错误的结果?
如何检查查询是否成功?
【问题讨论】:
标签: ruby-on-rails sql-server-2008 ruby-on-rails-4 tiny-tds