【问题标题】:How can I connect to database using FXRuby如何使用 FXRuby 连接到数据库
【发布时间】:2019-08-22 23:51:09
【问题描述】:

我想创建一个应用程序来访问 db(带有 1 个表)并在窗口中输出其表使用 FXRuby。有什么方法可以不使用查询语言,就像在这个例子中一样:

require 'pg'

conn = PG.connect(dbname: 'testdb', user: 'postgres')    
rows = conn.exec("select * from users")

并且不使用 Ruby on Rails

我也尝试启动此示例代码,但由于安装 sqlite3 gem 的问题,它不起作用:

require 'fox16' 
require 'sqlite3.rb' 
include Fox 

class TestApp < FXApp 
   def initialize 
      super('Test', 'Test') 
      @db = SQLite3::Database.new('test.db3') 
      @db || raise("can't connect to database") 
   end 

   def db 
      @db 
   end 
end 

【问题讨论】:

  • “不使用查询语言”是什么意思?您将使用 some 类型的查询来访问数据库。顺便说一句,我在我的应用程序中一直使用fox16sqlite3 gem,那么安装sqlite3 gem 的问题究竟是什么?
  • @varro 我正在使用 win 10 + ruby​​ 2.5.3,当我尝试“gem install sqlite3”时它失败了。
  • 你应该尽量在你的错误报告中尽可能明确,但我猜这里你没有正确设置你的开发环境。 fox16 gem 是一个 C/C++ 扩展,这意味着您需要编译它。你有安装编译器吗?你的开发环境是什么?
  • @varro 我已经从 ruby​​installer.org/ 安装了 ruby​​ 解释器并使用 powershell 来启动代码。
  • 但是你有编译器吗?我自己使用MSYS作为开发环境,但是去rubyinstaller网站,貌似可以在Add-ons下安装MSYS2/DevKit。你有吗?

标签: ruby database sqlite fxruby


【解决方案1】:

看起来以下应该可以解决您的问题(请参阅this reference):

ridk exec pacman -S mingw-w64-x86_64-dlfcn
gem install sqlite3

【讨论】:

  • 非常感谢您的帮助!我应该以正确的方式搜索我的错误消息
猜你喜欢
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
  • 2017-05-16
  • 2020-02-22
  • 2011-06-29
  • 2018-12-30
  • 2012-08-21
相关资源
最近更新 更多