DB Lib is a minimalistic database library for LiveCode that works on Desktop and Mobile and allows you to build database-savvy apps without writing SQL directly. For example consider the following code:

dbWhere "country", "Brazil"
put dbGet("contacts") into tDataA
set the dgdata of control "contacts" to tDataA

It picks all records from the contacts table that have the country field equals to Brazil and set a datagrid to it. It's very easy to use. A more involved example:

on mouseUp
   -- assemble array
   put dbCardToArray("contacts") into tDataA

   -- check if we're adding a new record
   -- or updating an existing one.
   -- this check depends on the record id being present.
   if field "id" is empty then
      get dbInsert("contacts", tDataA)
      if it is not a number then
         answer error it
         answer "New Record Saved"
      end if
      go card "contact list"
      dbWhere "id", field "id"
      get dbUpdate("contacts", tDataA)
      if  it is not a number then
         answer error it
         answer "Record Updated"
      end if
      go card "contact list"
   end if
end mouseUp

In this code first we pick the data from a card using dbCardToArray(), a function that magically picks data from fields, buttons and other controls, and assemble an array that is used to insert or update a given record depending on the presence of an id field.

This is just a quick glimpse of what you can do with DB Lib. It is basically a ORM for LiveCode.

Dual License

Inspired by the current LiveCode open source edition, I decided to dual license this library using GPL, so all you LiveCode Community Edition users can use this cool library on your GPL projects.

If you want to release closed source software, you still need a commercial license but for open source stuff, you're free to go.

You can learn more about the library and download the GPL version by going to the DB Lib page.

Support & Feedback

Those that have questions or feedback, just hop by the forums. If you purchased DB Lib less than 30 days ago and feel you've been cheated by me going open source with GPL, you can get a refund by sending me an email at my usual address.

Please be aware that building this library takes time and that time is paid thru commercial licenses and donations, so if you think this library is useful, consider a donation or purchasing a commercial license. Each license buy a couple hours of work!

I hope you guys liked this initiative!