SQL文字列を実行するために渡す前にパラメータ化する方法を見つけようとしていますが、残念ながらインターネット上でこれをたくさん見つけています:
sql = "SELECT * FROM table_name WHERE thing LIKE '%#{input}%'"
これは悪いことです...しかし、SQLクエリのパラメータ化は、TinyTDSがその上に構築されている基礎となるSequelライブラリで利用できます。だから私はそれが可能であることを知っています。私はそれを理解するのに苦労しています。
私はそれがこれと同じくらい簡単であることを本当に願っています:
@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
で、それには準備メソッドがあります。問題は、それをどのように使用するかです。execute()
オブジェクト内のメソッドに渡す前に、別のオブジェクトを作成する必要があり@client
ますか? initialize
またはメソッドが見つからなかったnew
ので、単純なインスタンス化は間違った方法のようです。