kütüphane cvp
— 1. Veritabanı Oluşturma
CREATE DATABASE KutuphaneDB;
GO
USE KutuphaneDB;
GO
— 2. Tablo Oluşturma
CREATE TABLE Kitaplar (
KitapID INT IDENTITY(1,1) PRIMARY KEY,
KitapAdi NVARCHAR(100) NOT NULL,
Yazar NVARCHAR(50) NOT NULL,
SayfaSayisi INT,
YayinEvi NVARCHAR(50)
);
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient; // SQL Bağlantısı için gerekli kütüphane
namespace KutuphaneProjesi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Bağlantı cümlesi (Server ismi laboratuvardaki bilgisayarlara göre güncellenmelidir)
SqlConnection baglanti = new SqlConnection(“Data Source=.;Initial Catalog=KutuphaneDB;Integrated Security=True”);
// 1. Listeleme Fonksiyonu
void KitapListele()
{
try
{
baglanti.Open();
SqlDataAdapter da = new SqlDataAdapter(“SELECT * FROM Kitaplar”, baglanti);
DataTable dt = new DataTable();
da.Fill(dt);
dgvKitaplar.DataSource = dt;
}
catch (Exception hata)
{
MessageBox.Show(“Hata oluştu: ” + hata.Message);
}
finally
{
baglanti.Close();
}
}
// Form açıldığında listeleme tetiklenir
private void Form1_Load(object sender, EventArgs e)
{
KitapListele();
}
// 2. Kaydetme Butonu
private void btnKaydet_Click(object sender, EventArgs e)
{
try
{
baglanti.Open();
string sorgu = “INSERT INTO Kitaplar (KitapAdi, Yazar, SayfaSayisi, YayinEvi) VALUES (@p1, @p2, @p3, @p4)”;
SqlCommand komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue(“@p1”, txtKitapAdi.Text);
komut.Parameters.AddWithValue(“@p2”, txtYazar.Text);
komut.Parameters.AddWithValue(“@p3”, Convert.ToInt32(txtSayfaSayisi.Text));
komut.Parameters.AddWithValue(“@p4”, txtYayinEvi.Text);
komut.ExecuteNonQuery();
MessageBox.Show(“Kitap başarıyla kaydedildi.”);
}
catch (Exception hata)
{
MessageBox.Show(“Kayıt hatası: ” + hata.Message);
}
finally
{
baglanti.Close();
KitapListele(); // Listeyi güncelle
}
}
// 3. Silme Butonu
private void btnSil_Click(object sender, EventArgs e)
{
if (dgvKitaplar.SelectedRows.Count > 0)
{
try
{
baglanti.Open();
string sorgu = “DELETE FROM Kitaplar WHERE KitapID = @id”;
SqlCommand komut = new SqlCommand(sorgu, baglanti);
// DataGridView’de seçili satırın ilk hücresindeki (KitapID) değerini alır
int secilenId = Convert.ToInt32(dgvKitaplar.SelectedRows[0].Cells[“KitapID”].Value);
komut.Parameters.AddWithValue(“@id”, secilenId);
komut.ExecuteNonQuery();
MessageBox.Show(“Kitap başarıyla silindi.”);
}
catch (Exception hata)
{
MessageBox.Show(“Silme hatası: ” + hata.Message);
}
finally
{
baglanti.Close();
KitapListele(); // Listeyi güncelle
}
}
else
{
MessageBox.Show(“Lütfen silmek istediğiniz satırı DataGridView üzerinden seçin!”);
}
}
}
}