IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# SQLite (Geliştiriciler için Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 23 Nisan 2026

SQLite'a Giriş

SQLite, çeşitli uygulamalarda, masaüstü, web ve mobil uygulamalar dahil kullanılan öz-tanımlı, sunucu gerektirmeyen ve sıfır konfigürasyonlu bir veritabanı motorudur. Bu derste, C# ile SQLite kullanımı hakkında derinlemesine bilgi edineceksiniz. Basit ve anlaşılır örneklerle SQLite veritabanını nasıl oluşturacağınızı, yöneteceğinizi ve etkileşimde bulunacağınızı öğreneceksiniz.

SQLite Nedir?

SQLite, verileri tek bir dosyada depolayan hafif ve verimli bir veritabanıdır. Geleneksel veritabanlarının aksine, ayrı bir sunucu gerektirmez. Bu, tam kapsamlı bir veritabanı sisteminin karmaşıklığı olmadan veritabanına ihtiyaç duyan uygulamalar için harika bir seçenek yapar.

Setting Up SQLite in C#

NuGet Paket Yöneticisi Kullanarak

C# projesinde SQLite ile çalışmak için gerekli SQLite kütüphanesini yüklemeniz gerekecektir. Bu, NuGet Paket Yöneticisi üzerinden yapılabilir.

  1. Visual Studio'yu açın ve yeni bir Konsol Uygulaması oluşturun.
  2. Projede sağ tıklayın ve "NuGet Paketlerini Yönet" seçeneğini seçin.
  3. "SQLite" arayın ve paketi yükleyin.

Bağlantı Kurma

Bağlantı Dizesi

Bağlantı dizesi, bir veri kaynağı hakkında bilgi ve ona bağlanma yollarını belirten bir dizgedir. SQLite'ta, bağlantı dizesi genellikle şöyle görünür:

string connectionString = "Data Source=mydatabase.db;";

Bağlantı Nesnesi

Bağlantı nesnesini, System.Data.SQLite ad alanından SQLiteConnection sınıfını kullanarak oluşturabilirsiniz.

using System.Data.SQLite;

// Initialize a connection to the SQLite database
var connection = new SQLiteConnection(connectionString);

// Open the connection
connection.Open();

Bir Tablo Oluşturma

Tablo Oluşturma

Herhangi bir veritabanıyla çalışırken bir tablo oluşturmak esastır. İşte SQLite kodu kullanarak bir tablonun nasıl oluşturulacağı.

// SQL command to create a new table "person"
string query = "CREATE TABLE IF NOT EXISTS person (id INTEGER PRIMARY KEY, name TEXT)";

// Create a command object with the SQL query and connection
var command = new SQLiteCommand(query, connection);

// Execute the command to create the table
command.ExecuteNonQuery();
  • Id Integer Primary Key: 'id' sütununu birincil anahtar olarak ayarlar.
  • Tablo Adı: Veritabanı tablonuza vermek istediğiniz ad.

Veri Ekleme

Satırlar Ekle

Bir tabloya veri eklemek için bir INSERT komutu kullanmanız gerekecektir.

// SQL command to insert a new row into the "person" table
string query = "INSERT INTO person (name) VALUES ('John')";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();

Parametreli Komut

Parametreli komutlar, uygulamanızı SQL Enjeksiyon saldırılarından koruyabilir. Bu yaklaşım, değerleri doğrudan sorguya eklemek yerine parametreler kullanır.

// SQL command with a parameter to insert data safely
string query = "INSERT INTO person (name) VALUES (@name)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@name", "Iron Developer");
command.ExecuteNonQuery();

Veri Çekme

Select İfadesi

Veritabanı tablosundan veri çekmek için bir SELECT ifadesi kullanabilirsiniz.

// SQL command to select all rows from the "person" table
string query = "SELECT * FROM person";

var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();

// Loop through the result set and read data
while (reader.Read())
{
    Console.WriteLine(reader["name"]);
}

Gelişmiş Özellikler

SQLite İşlemleri

İşlemler, birden fazla işlemi tek bir atomik eylemde gerçekleştirmenize olanak sağlar. İşte işlemleri nasıl kullanacağınız:

var transaction = connection.BeginTransaction();
try
{
    // Example of multiple operations in a transaction
    var insertCommand = new SQLiteCommand("INSERT INTO person (name) VALUES ('Alice')", connection, transaction);
    insertCommand.ExecuteNonQuery();

    var updateCommand = new SQLiteCommand("UPDATE person SET name = 'Bob' WHERE name = 'Alice'", connection, transaction);
    updateCommand.ExecuteNonQuery();

    transaction.Commit(); // Commit the transaction if all operations succeed
}
catch
{
    transaction.Rollback(); // Rollback the transaction if any operation fails
}

Nesne-İlişkisel Haritalama (ORM) ile Entity Framework

Entity Framework (EF), .NET ekosistemi içinde yaygın olarak kullanılan bir ORM aracıdır. Geliştiricilerin ilişkisel veri ile alan özel nesneler kullanarak çalışmalarına olanak tanır ve böylece veritabanı programlamasını basitleştirir. Entity Framework'ü SQLite ile nasıl kullanabileceğiniz anlatılmıştır.

1. Entity Framework'ü Yükleme

İlk olarak, SQLite'a özgü olan Entity Framework NuGet paketinin yüklendiğinden emin olun:

  1. Visual Studio'da NuGet Paket Yöneticisi'ni açın.
  2. "Entity Framework SQLite" arayın ve yükleyin.

2. Varlık Sınıfları Oluşturma

Varlık sınıfları, veritabanı tablolarının temsilleridir. Etkileşimde bulunmayı düşündüğünüz her tablo için bir sınıf oluşturabilirsiniz.

public class Person
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
}

3. DbContext

DbContext sınıfından türeyen bir sınıf oluşturmanız gerekecek. Bu sınıf, veritabanı ile oturumu temsil eder ve varlıkların sorgulanmasına ve kayıt edilmesine olanak tanır.

using Microsoft.EntityFrameworkCore;

public class MyDbContext : DbContext
{
    public DbSet<Person> Persons { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=mydatabase.db;");
    }
}

4. CRUD İşlemleri

Entity Framework, Create, Read, Update ve Delete (CRUD) işlemlerini basitleştirir. Yeni bir kayıt nasıl ekleyeceğiniz açıklanmıştır:

using (var db = new MyDbContext())
{
    db.Persons.Add(new Person { Name = "John" });
    db.SaveChanges();
}

Kayıtların okunması, güncellenmesi ve silinmesi, Entity Framework ile benzer şekilde kolaylaştırılır ve açık ve bakımı kolay kodlar sağlar.

XML Dosyaları ve Diğer Veri Sağlayıcılarla Çalışmak

SQLite yalnızca ilişkisel verilerle sınırlı değildir; Ayrıca XML dosyaları da dahil olmak üzere diğer veri türlerinin işlenmesinde esneklik sağlar.

1. XML Veri Depolama

XML verisini bir SQLite veritabanı içinde depolayabilirsiniz. Bu, yapılandırma verileri veya diğer hiyerarşik yapılarla çalışıyorsanız kullanışlı olabilir.

string xmlData = "<person><name>John</name></person>";
string query = "INSERT INTO xmltable (data) VALUES (@data)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@data", xmlData);
command.ExecuteNonQuery();

XML Verisini Çekme

C#'ta standart XML ayrıştırma tekniklerini kullanarak XML verilerini çekebilir ve işleyebilirsiniz.

string query = "SELECT data FROM xmltable WHERE id = 1";
var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();

string xmlData;

// Read the XML data from the query result
if (reader.Read())
{
    xmlData = reader["data"].ToString();
}

// Parse the XML data as needed using an XML parser

Diğer Veri Sağlayıcılarla Çalışmak

SQLite ayrıca çeşitli veri sağlayıcılarla iyi entegre olur ve böylece uyumluluk ve esneklik sağlar. Bu, farklı veritabanları arasında sorunsuz geçiş yapabilmenizi veya tek bir uygulama içinde farklı veri kaynaklarını birleştirmenizi sağlar.

Iron Suit'i Tanıtma: Güçlü Bir Kütüphane Seti

SQLite ve C#'taki mantıksal operatörlerin alanlarını keşfettikten sonra, .NET ortamında geliştirme deneyimini tamamlayan ve artıran remarkable araç setini tanıtmanın zamanı geldi. Iron Suit, her biri ayrı amaçlara hizmet eden IronPDF, IronXL, IronOCR ve IronBarcode'dan oluşan güçlü kütüphaneler birleşimidir.

IronPDF: C# PDF Kütüphanesi

IronPDF Kapsamlı Rehberi, C#'ta PDF dosyaları oluşturmak, okumak ve manipüle etmek için tasarlanmış kapsamlı bir kütüphanedir. Raporlar, faturalar veya PDF formatında belgeler üretmek gerektiğinde, IronPDF yanınızda olacaktır. IronPDF'nin benzersiz bir özelliği, HTML'yi PDF'ye dönüştürebilme yeteneğidir. CSS, JavaScript ve görseller dahil HTML'yi PDF belgesi olarak işleyebilir, bu da onu güçlü bir araç yapar. IronPDF ile HTML'den PDF'ye Dönüşüm konulu bu eğitime göz atarak adım adım bir kılavuz edinin.

IronPDF'nin HTML'den PDF'ye Özelliği, düzenlerin ve stillerin tamamını koruyan ana vurgusudur. Web içeriğinden PDF'ler üretir, raporlar, faturalar ve dökümantasyon için idealdir. HTML dosyalarını, URL'leri ve HTML dizgilerini kesintisiz bir şekilde PDF'lere dönüştürebilirsiniz.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronPDF, SQLite veritabanları ile çalışırken de önemli bir araç olabilir. SQLite veritabanı verilerinizden PDF raporları üretebilir, veri sunumu ve paylaşımını sorunsuz bir şekilde sağlar.

IronXL: Excel Dosya Yönetimi Kolaylaştırıldı

IronXL ile Excel Entegrasyonunu Keşfedin, geliştiricilerin Excel dosyalarını kolaylıkla okumasına, yazmasına ve manipüle etmesine olanak tanır. XLS, XLSX ve daha fazlası ile uyumlu olduğundan, tablo verilerini işlemek için ideal bir araçtır. Excel dosyalarını okuyabilir, onları manipüle edebilir ve hatta sıfırdan yeni dosyalar oluşturabilirsiniz. IronXL'ın işlevselliği, SQLite dahil olmak üzere veritabanı yönetimi ile entegridir ve verilerin dışa ve içe aktarılmasını kolaylaştırır.

IronOCR: Optical Character Recognition in C#

Metin Tanıma için IronOCR ile, resimlerden ve PDF dosyalarından metin taramak çok kolay. Bu çok yönlü OCR (Optik Karakter Tanıma) kütüphanesi, çeşitli kaynaklardan metin tanır.

Taradığınız belgeleri bir SQLite veritabanında sakladığınızı ve bu belgelerin içindeki metni almak ve tanımak için IronOCR kullandığınızı hayal edin. Olasılıklar sonsuzdur ve güçlü metin alımı ve arama işlevselliği sağlar.

IronBarcode: Kapsamlı Barkod Oluşturma ve Okuma Kütüphanesi

IronBarcode ile Güçlü Barkod Entegrasyonu sayesinde barkod oluşturma ve okuma basitleşir. Birden çok barkod formatını destekler ve tüm barkodla ilgili ihtiyaçlar için sağlam bir API sunar. IronBarcode, ürünleri veya diğer veri varlıklarını temsil edebilecek barkodların kullanılabileceği SQLite kullanan uygulamalarda önemli bir rol oynayabilir. SQLite veritabanından barkodları saklamak ve almak, veri bütünlüğünü artırır ve hızlı erişim sağlar.

Sonuç

SQLite, yeni başlayanlar ve profesyoneller için mükemmel olan güçlü ve hafif bir veritabanı motorudur. Tablo oluşturmaktan satır eklemeye, işlemleri yönetmeye ve SQL Enjeksiyon saldırılarını önlemeye kadar birçok özellik sunar. İster bir konsol veya mobil uygulama geliştiriyor olun, ister yabancı anahtarlar ve veri setleriyle çalışmanız gerekiyor olsun, SQLite harika bir seçimdir.

IronPDF, IronXL, IronOCR ve IronBarcode'dan oluşan Iron Suit, C# geliştirme projelerinizin yeteneklerini genişleten bir araç hazinesi olup, SQLite veritabanları veya diğer alanlarla çalışmanızdan bağımsızdır.

Daha da çekici olan, bu ürünlerin her biri Iron Software ürünleri için ücretsiz deneme sunarak, sağladıkları çeşitli işlevleri keşfetmeniz ve anlamanız için yeterli zaman tanımasıdır. Bu araçları kullanmaya devam etmeye karar verdiğinizde, lisanslama her bir ürün için $999 ile başlar. Tüm Iron Suit paketini yalnızca iki bireysel ürün fiyatına satın alabilirsiniz.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez