Koneksi SQLite Database pada C#

0
35

Pemrograman C# memungkingkan kita untuk mengembangkan aplikasi dengan basis data SQLite. Selain mudah dan sederhana, basis data SQLite sangatlah ringan. Hal ini tentunya akan semakin meningkatkan performa dari aplikasi yang kita bangun.

Contoh uji coba yang kami lakukan di sini menggunakan Visual Studio 2012, 32 bit. Di awali dengan membuat project baru, setelah itu dari project yang telah dibuat, perlu ditambahkan reference untuk SQLite-nya.  Hal ini dilakukan karena di awal program kita membuat deklarasi untuk menggunakan System.Data.SQLite (pada ekspresi kode using System.Data.SQLite;).

Cara untuk menambahkan reference ini, kita download dulu paket binary dotnet SQLite di laman System.Data.SQLite: Downloads Page. Silakan download yang sesuai dengan versi Visual Studio kita, dalam hal ini karena kita memakai VS 2012 maka kita mendownload yang bagian Precompiled Binaries for 64-bit Windows (.NET Framework 4.5). Pastikan versi 32bit atau 64bit-nya sesuai dengan Visual Studio yang kita gunakan.

Setelah berhasil download, silakan ekstrak paket binary tersebut lalu copy-kan dua file bernama : System.Data.SQLite.dll dan SQLite.Interop.dll, ke dalam folder /bin/debug pada project kita. Selanjutnya, kita tuliskan source code untuk uji koneksinya. Bila semua sudah selesai tinggal lakukan compiling.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;

namespace _2023_10_25_SQLiteConnect
{
class Program
{
static void Main(string[] args)
{
SQLiteConnection sqlite_conn;
sqlite_conn = CreateConnection();
//CreateTable(sqlite_conn);
InsertData(sqlite_conn);
ReadData(sqlite_conn);

Console.ReadKey();
}

static SQLiteConnection CreateConnection()
{

SQLiteConnection sqlite_conn;
// Create a new database connection:
sqlite_conn = new SQLiteConnection("Data Source=database.db;Version=3;New=True;Compress=True;");
// Open the connection:
try
{
sqlite_conn.Open();
}
catch (Exception ex)
{

}
return sqlite_conn;
}

static void CreateTable(SQLiteConnection conn)
{

SQLiteCommand sqlite_cmd;
string Createsql = "CREATE TABLE SampleTable(Col1 VARCHAR(20), Col2 INT)";
string Createsql1 = "CREATE TABLE SampleTable1(Col1 VARCHAR(20), Col2 INT)";
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = Createsql;
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = Createsql1;
sqlite_cmd.ExecuteNonQuery();

}

static void InsertData(SQLiteConnection conn)
{
SQLiteCommand sqlite_cmd;
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test Text ', 1);";
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test1 Text1 ', 2);";
sqlite_cmd.ExecuteNonQuery();
sqlite_cmd.CommandText = "INSERT INTO SampleTable(Col1, Col2) VALUES ('Test2 Text2 ', 3);";
sqlite_cmd.ExecuteNonQuery();


sqlite_cmd.CommandText = "INSERT INTO SampleTable1(Col1, Col2) VALUES ('Test3 Text3 ', 3);";
sqlite_cmd.ExecuteNonQuery();

}

static void ReadData(SQLiteConnection conn)
{
SQLiteDataReader sqlite_datareader;
SQLiteCommand sqlite_cmd;
sqlite_cmd = conn.CreateCommand();
sqlite_cmd.CommandText = "SELECT * FROM SampleTable";

sqlite_datareader = sqlite_cmd.ExecuteReader();
while (sqlite_datareader.Read())
{
string myreader = sqlite_datareader.GetString(0);
Console.WriteLine(myreader);
}
conn.Close();
}
}
}

LEAVE A REPLY

Please enter your comment!
Please enter your name here