Tag: dbi

Ruby DBI select_all vs execute-fetch / each-finish

这是我使用DBI的示例代码: dbh = DBI.connect(“DBI:Mysql:host=#{server};database=mysql”, user, pass) rows = dbh.select_all(“SHOW TABLES”) 这里的行打印如下: [[“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”], [“user”]] 这是在mysql数据库中打印最后一个表,但记录总数是正确的。 如果我使用execute-fetch / each-finish序列执行此操作,如下所示: sth = dbh.execute(“SHOW TABLES”) sth.each do |row| rows << row[0] end sth.finish 但它给了我正确的结果,如: [“columns_priv”, “db”, “func”, “help_category”, “help_keyword”, “help_relation”, “help_topic”, “host”, “proc”, “procs_priv”, […]

准备好的声明的内部结构是什么样的?

以下是bind_params似乎正在准备 sql语句: stmt = db.prepare( “select * from table where a=? and b=?” ) stmt.bind_params( 15, “hello” ) 所以实际上在stmt中,我们需要有map / array或者最终会映射参数并创建正确的stmt的东西。 在内部执行此操作的最佳方式是什么? 加上字符串我需要额外的预防措施 – 上面的内容必须像“select * from table a a = 15 and b = \”hello \“”一样。 我查看了SQLite3和OCI,他们似乎将这些传递给内部C代码。

在哪里放置ruby .gem文件,以便Shoes.setup可以找到它们?

关于鞋子中的gem支持已经提出了很多问题,但没有人回答在哪里放置它们。 我已经在Windows XP上获得了鞋子Raisins 1134,我已经下载了dbi-0.4.1.gem并且我正在努力让以下工作: Shoes.setup do gem ‘dbi’ end require ‘dbi’ Shoes.app … end 当我运行这个时,我得到一个对话框,上面写着Installing dbi — Looking for dbi ,这个Installing dbi — Looking for dbi几个小时都找不到gem文件。 我试过把它放在以下所有地方都无济于事: 包含上述脚本的文件夹 D:\ Program Files \ Common Files \ Shoes \ 0.r1134 \ ruby​​ \ gems D:\ Program Files \ Common Files \ Shoes \ 0.r1134 \ ruby​​ \ […]

DBI :: InterfaceError:无法加载驱动程序(未初始化的常量MysqlError)

我收录了gem, dbd-mysql (0.4.4) dbi (0.4.5) mysql (2.8.1) 在我运行以下代码时在rails控制台上, require ‘rubygems’ require “dbi” require ‘dbd-mysql’ dbh = DBI.connect(“DBI:Mysql:TestDB:localhost”,”username”, “pwd”) 1.9.2-p180 :001 > require ‘rubygems’ => false 1.9.2-p180 :002 > require “dbi” => false 1.9.2p180 :003 > require ‘dbd-mysql’ LoadError: no such file to load — dbd-mysql from /.rvm/gems/ruby-1.9.2-p180@rails3/gems/dbi-0.4.5/lib/dbi.rb:318:in `rescue in load_driver’ from /.rvm/gems/ruby-1.9.2-p180@rails3/gems/dbi-0.4.5/lib/dbi.rb:242:in `load_driver’ from /.rvm/gems/ruby-1.9.2-p180@rails3/gems/dbi-0.4.5/lib/dbi.rb:160:in […]