Click here to Skip to main content
15,119,322 members
Articles / Programming Languages / C#
Posted 10 Mar 2007


96 bookmarked


Rate me:
Please Sign up or sign in to vote.
3.94/5 (26 votes)
10 Mar 2007CPOL1 min read
A GUI for SQLite in .NET
Screenshot - SQLiteGUI.gif


This article describes how to create, insert, update SQLite database from GUI.


SQLite GUI is a simple GUI for creating a new SQLite database and opening an existing SQLite database. It can also create, delete and update tables in the database. All the available tables in the database are shown. The records of various types including BLOB are displayed in the DataGridView. And the data in the DataGridView can be printed. The schema for all the available tables is displayed.


The SQLite.NET assembly is available here. Add the reference SQLite.Net.dll to the project and use the namespace Finisar.SQLite to work with SQLite.


Finisar.SQLite is an ADO.NET Data Provider for accessing SQLite-Databases using the .NET-Framework. In SQLite, a complete database is stored in a single disk file. SQLite is zero-configuration - no setup or administration needed. SQLite itself is "a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine" (quoted from the Website). The Finisar.SQLite Data Provider is an easy way to use the SQLite-Database in .NET languages like C# and VB.NET.

Sample Code

      //Connection string 
      string connString = String.Format("Data Source={0};New=False;Version=3", DB_NAME);
      //Connecting database
      SQLiteConnection sqlconn = new SQLiteConnection(connString);
      //Open the connection

      string CommandText = "Select name from sqlite_master;";

      //SQLiteDataAdapter to fill the DataSet
      SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(CommandText, sqlconn);

      //Get the collection of rows from the DataSet
      DataRowCollection dataRowCol = ds.Tables[0].Rows;

      //Add the tables available in the DB to the combo box
      foreach (DataRow dr in dataRowCol)
      //Close the Connection

catch (SQLiteException sqlex)

To Do

Update cannot be performed on table without primary key. The SelectCommand must also return at least one primary key or unique column. If none are present, an InvalidOperation exception is generated, and the commands are not generated. The alternative way is create select, insert and update command for that particular table. Refer to MSDN. It will be available in the next version of SQLite GUI.


  • 10th March, 2007: Initial post


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Udhaya Kumar.D
India India
No Biography provided

Comments and Discussions

QuestionCannot open new db Pin
Member 1271015929-Aug-16 21:11
MemberMember 1271015929-Aug-16 21:11 
SuggestionRe: Cannot open new db Pin
Member 24433062-Nov-17 12:08
MemberMember 24433062-Nov-17 12:08 
Indeed it uses an old version of (Finisar) SQLite.Net-DLL and SQLite3.DLL itself was missing.
I see several Posts here about this.

However the easiest way to get it working is to:
1. remove old SQLite reference and DLL
2. add NuGet package SQLite
3. change Use statements to now use System.Data.SQLite;
4. Maybe change the File-filter to all supported formats:
opnfiledlg.Filter = "SQLite Files (*.db, *.db3, *.sqlite, *.sqlite3)|*.db; *.db3;*.sqlite;*.sqlite3|All Files(*.*)|*.*";

5. Recompile
6. enjoy

However there are several cleanups possible, unfinished code fragments and unused forms. So enough to do if one wants to.

Hope this helps.
QuestionWorked as expected Pin
Nueman16-Mar-16 18:47
MemberNueman16-Mar-16 18:47 
QuestionUpdates for .NET 4.5.1 ? Pin
kiquenet.com31-Jan-14 5:36
professionalkiquenet.com31-Jan-14 5:36 
GeneralMy vote of 2 Pin
Marco Bertschi14-Jun-13 3:07
professionalMarco Bertschi14-Jun-13 3:07 
QuestionMultiple User Access To SQLite DB? Pin
Fatih BURAL14-Sep-12 10:32
professionalFatih BURAL14-Sep-12 10:32 
AnswerRe: Multiple User Access To SQLite DB? Pin
adriancs21-Oct-12 20:10
professionaladriancs21-Oct-12 20:10 
GeneralRe: Multiple User Access To SQLite DB? Pin
Fatih BURAL10-Nov-12 11:09
professionalFatih BURAL10-Nov-12 11:09 
GeneralRe: Multiple User Access To SQLite DB? Pin
jbmckim30-Nov-12 12:58
Memberjbmckim30-Nov-12 12:58 
GeneralRe: Multiple User Access To SQLite DB? Pin
adriancs30-Nov-12 13:54
professionaladriancs30-Nov-12 13:54 
GeneralWindows 7 Pin
jimmygyuma13-Nov-09 11:49
Memberjimmygyuma13-Nov-09 11:49 
GeneralRe: Windows 7 Pin
kazmirci23-Dec-09 22:39
Memberkazmirci23-Dec-09 22:39 
GeneralRe: Windows 7 Pin
Member 1223765418-Apr-16 0:32
MemberMember 1223765418-Apr-16 0:32 
GeneralExcellent Pin
loyal ginger6-Oct-09 7:11
Memberloyal ginger6-Oct-09 7:11 
GeneralRe: Excellent Pin
Udhaya Kumar.D22-Nov-09 23:53
MemberUdhaya Kumar.D22-Nov-09 23:53 
GeneralUpdate problem Pin
jimmygyuma13-Jun-09 8:38
Memberjimmygyuma13-Jun-09 8:38 
GeneralProblem Pin
Zergushonok28-Oct-08 6:49
MemberZergushonok28-Oct-08 6:49 
GeneralRe: Problem Pin
Udhaya Kumar.D4-May-09 7:23
MemberUdhaya Kumar.D4-May-09 7:23 
QuestionReadonly Mode Pin
cawoodm17-Sep-08 10:49
Membercawoodm17-Sep-08 10:49 
AnswerRe: Readonly Mode Pin
Udhaya Kumar.D30-Sep-08 6:25
MemberUdhaya Kumar.D30-Sep-08 6:25 
GeneralPassword Protection Pin
DaveHoganIW3-Dec-07 10:09
MemberDaveHoganIW3-Dec-07 10:09 
Generaluse System.Data.SQLite in the program Pin
VirusCamp12-Jun-07 21:33
MemberVirusCamp12-Jun-07 21:33 
GeneralRe: use System.Data.SQLite in the program Pin
VirusCamp12-Jun-07 21:42
MemberVirusCamp12-Jun-07 21:42 
GeneralA little problem Pin
nemopeti25-Mar-07 0:12
Membernemopeti25-Mar-07 0:12 
GeneralRe: A little problem Pin
Udhaya Kumar.D25-Mar-07 22:55
MemberUdhaya Kumar.D25-Mar-07 22:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.