Ruby: How To Connect To SQLite Database

Submitted by: 
Visitors have accessed this post 925 times.

In this tutorial we will create A Simple Database Connection Using Ruby/SQLite.Ruby is a dynamic, object-oriented, general-purpose, easy syntax kind of programming language. Most developers find it enjoy to work around with Ruby, and enjoyment is a great motivator for beginners. Ruby display an understandable errors, so you'll still be able to track the problematic part of errors. So let's start coding..

Getting started
First you will have to download & install Ruby, here's the link for the Ruby Modules

Installing SQLite
After you installed Ruby, we will now then install the SQLite, open the command prompt then type "gem install sqlite3" and hit enter.

Installing SQLite Browser
After you installed SQLite3, we will now then install the SQLite Browser to view the database data, here's the link for the DB Browser for SQLite

Importing Modules
After setting up the installation and the database, open any kind of text editor ( notepad++, etc.. ). Then type the code below into the text editor.

  1. #!/usr/bin/ruby
  3. #=======================MODULES==========================
  4. require 'tk'
  5. require 'sqlite3'

Setting up the Main Frame
After importing the modules, we will now then create the main frame for the application. To do that just copy the code below and paste it inside the text editor.

  1. #=======================MAIN=============================
  2. root = {
  3. title "Ruby: How To Connect To SQLite Database"
  4. width = 400
  5. height = 300
  6. screen_width = winfo_screenwidth()
  7. screen_height = winfo_screenheight()
  8. x = (screen_width/2) - (width/2)
  9. y = (screen_height/2) - (height/2)
  10. geometry ('%dx%d+%d+%d' % [width, height, x, y])
  11. resizable(0, 0)
  12. }

Designing the Layout
After creating the Main Frame we will now add some layout to the application. Just kindly copy the code below and paste it inside the text editor.

  1. #=======================FRAMES===========================
  2. Top ={
  3. relief 'solid'
  4. borderwidth 1
  5. background 'red'
  6. pack('side' => 'top', 'fill' => 'x')
  7. }
  9. List ={
  10. pack('side' => 'top')
  11. }
  13. Bottom ={
  14. pack('side' => 'bottom')
  15. }
  17. #=======================LIST WIDGET======================
  19. $myList ={
  20. relief 'raise'
  21. selectmode 'extended'
  22. height '13'
  23. width '60'
  24. pack('side' => 'left')
  26. }
  30. #=======================LABEL WIDGETS====================
  31. $txt_title ={
  32. background 'red'
  33. foreground 'white'
  34. text "Ruby: How To Connect To SQLite Database"
  35. pack('side' => 'top')
  36. }
  38. $lbl_display ={
  39. text
  40. foreground 'green'
  41. pack('side' => 'top')
  42. }
  44. $btn_connect ={
  45. text 'Connect'
  46. command 'connect'
  47. pack('side' => 'bottom', 'fill' => 'x')
  48. }

Creating the Database Connection
Then after setting up the design we will now create the database function, then it will automatically display data from the database to listbox. To do that just simply copy the code below and paste it inside the text editor.

  1. #=======================METHODS==========================
  2. def connect()
  3. $myList.delete(0, 'end')
  4. conn = 'rubytut.db'
  5. conn.execute "CREATE TABLE IF NOT EXISTS `member` (mem_id INTEGER NOT NULL PRIMARY KEY, fullname TEXT)"
  6. result = conn.execute("SELECT * FROM `member` ORDER BY `mem_id` DESC")
  7. result.each{|row| $myList.insert 0, row[1]}
  8. conn.close()
  9. $lbl_display.configure('text' => 'Connected to database')
  10. end

Initializing the Application
After finishing the function save the application as 'index.rb'. This function will run the code and check if the main is initialize properly. To do that copy the code below and paste it inside the text editor.

  1. #=======================INITIALIZATION===================
  2. Tk.mainloop()

There you have it we successfully connected the SQLite to Ruby programming Language . I hope that this simple tutorial help you to your projects, For more updates and tutorials just kindly visit this site. Enjoy Coding!!


Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • You may insert videos with [video:URL]
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <th> <img> <h1> <h2> <h3> <iframe> [video]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <asp>, <c>, <cpp>, <csharp>, <css>, <html4strict>, <java>, <javascript>, <mysql>, <php>, <python>, <sql>, <vb>, <vbnet>. The supported tag styles are: <foo>, [foo].
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.