- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我试图弄清楚如何在将 SQL 字符串交给执行之前对其进行参数化,但遗憾的是我发现了很多 of this在互联网上:
sql = "SELECT * FROM table_name WHERE thing LIKE '%#{input}%'"
这是一件坏事...但是,参数化 sql 查询在底层可用 Sequel库,这是 TinyTDS 构建的基础。所以我知道这是可能的。我只是很难弄明白。
我真的希望它能像 this 一样简单:
@client = TinyTds::Client.new(
:adapter => 'sqlserver',
:host => host,
:database => db,
:username => username,
:password => password)
sql = "SELECT * FROM table_name WHERE thing LIKE ?"
safe_sql = @client.prepare(sql, input)
result = @client.execute(safe_sql)
我好像找到了一个叫做 Dataset
的东西源代码中的类,它有一个准备方法。问题是,我该如何使用它?在将它交给 @client
对象中的 execute()
方法之前,我是否需要创建另一个对象?我找不到 initialize
或 new
方法,所以简单的实例化似乎是错误的方法。
最佳答案
我使用 TinyTds 作为适配器实现了 Sequel gem。这允许您参数化 SQL 查询。请参见下面的示例:
require "tiny_tds"
require 'sequel'
DB = Sequel.connect(
adapter: 'tinytds',
host: "dataserver",
database: "database",
user: "username",
password: "password"
)
然后我能够使用参数化的值创建 SQL 插入语句。
posts_table = DB[:posts]
posts_table.insert(:author => 'John Smith', :title => 'How to parametrize sql queries')
我正在连接到 MS SQL 数据库。
关于ruby - 在 Ruby + TinyTDS 中参数化 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14512378/
机器 1: >tsql -C Compile-time settings (established with the "configure" script)
症状是: TinyTds::Error: Adaptive Server connection timed out: EXEC some_stored_procedure 它是 execute_pro
我使用 Homebrew 软件(Linux端口)安装freeTDS,并尝试使用gem tinytds部署/bundle安装我的应用程序。捆绑安装时出现此错误输出 Installing tiny_tds
我正在尝试在 ruby 2.2.3 上使用 tiny-tds gem 连接到 Azure SQL 数据库。我安装了 freetds-dev 和 freetds-bin ,一切似乎都工作得很好。 t
我试图弄清楚如何在将 SQL 字符串交给执行之前对其进行参数化,但遗憾的是我发现了很多 of this在互联网上: sql = "SELECT * FROM table_name WHERE thin
我的 Ruby on Rails 系统正在从 Oracle 迁移到 Microsoft SQL Server 2012。后端数据库已经由第三方从 Oracle 转换为 Microsoft SQL Se
在尝试使用 Ruby 连接到 SQLServer 数据库时经历了一些痛苦之后,我终于发现了 TinyTDS这太棒了。 但是,它需要用户名和密码才能与数据库对话。在过去的 C# 测试中,我们使用 SSP
我们正在使用当前的 tinyTDS gem 0.6.2 在 rails 3.2.12 (ruby 1.9.3) 上运行 ruby on rails 应用程序。 我们使用 MS SQL 2012 或
我在尝试让 TinyTDS 在 Windows 7 上与 Ruby 2.0.0 一起工作时遇到了真正的麻烦。 当我运行 rails c(或 require tiny_tds 来自 irb)时,我得到以
我正在为每晚按钮部署自动部署数据库脚本。我的第一种方法是在 Windows 终端上使用 sqlcmd,将结果保存到 txt 文件,并对其进行解析以确保脚本成功。解析文件并找到返回码是有问题的,所以我求
我一直看到这个错误,我无法连接到远程服务器上的数据库。 我得到了一个数据库连接字符串,如下所示: data source=qsss.gar.de\SQL2012,3000;initial catalo
我正在尝试使用 Azure 上的 SQL 配置我的 Rails 项目。我使用的是 Mac OS X 10.11。 这是我的config/database.yml的一部分: staging: ada
我正在尝试使用 Azure 上的 SQL 配置我的 Rails 项目。我使用的是 Mac OS X 10.11。 这是我的config/database.yml的一部分: staging: ada
我正在尝试使用 ActiveRecord 将这个字符“É”作为字符串的一部分保存到我使用 TinyTDS 的 sql 服务器。知道我需要做什么来消除以下错误吗? Exiting /var/lib/ge
我一直在尝试在 OSX 10.6 的 Macbook 上安装 TinyTDS gem。我成功安装了免费 TDS - 通过以下方式确认它可以正常工作: tsql -H SERVER -p 1433 -U
我一直在尝试学习循环的基础知识并且我已经到达那里但是我正在努力让我的大脑满足以下要求,例如,我通过 tinytds 从数据库表中获取数据,这样键/值就被散列到一个数组中(? - 初学者,所以希望我的术
我正在尝试使用 Rails 3.1。在 Windows 机器上使用 activerecord-sqlserver-adapter (3.1.1) 和 tiny_tds (0.4.5)。在阅读有关 Ti
我必须在我的 Rails 4.2.3 上使用“Tiny TDS”gem,当然在 Heroku 的 cedar-14 上我不能,因为 FreeTDS 已经不在上面了。 如何在 Heroku cedar-
我是一名优秀的程序员,十分优秀!