C# ile İki TextBox’tan Aynı Kaydı Engelleme
Giriş
Veri giriş formlarında, kullanıcıların benzersiz kayıtlar girmesini sağlamak önemlidir. Aynı kaydın birden fazla kez girilmesini önlemek, veri bütünlüğünü korumak ve veri işlemeyi kolaylaştırmak için çok önemlidir. Bu makalede, C# kullanarak iki TextBox’tan alınan verileri karşılaştırarak aynı kaydın birden fazla kez girilmesini nasıl önleyebileceğinizi göstereceğiz.
Veri Tabanı Tasarımı
Aynı kaydı engellemek için veritabanı tablonuzda benzersiz bir anahtar tanımlamanız gerekir. Bu, her kaydın benzersiz bir şekilde tanımlanmasını sağlayan bir sütun veya sütun grubudur. Örneğin, bir “Kullanıcılar” tablosu için “Kullanıcı Adı” sütunu benzersiz bir anahtar olabilir.
C# Kodu
Aşağıdaki C# kodu, iki TextBox’tan alınan verileri karşılaştırarak aynı kaydın birden fazla kez girilmesini önler:
“`csharp
using System;
using System.Data;
using System.Data.SqlClient;
namespace PreventDuplicateRecords
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSubmit_Click(object sender, EventArgs e)
{
// TextBox'lardan verileri al
string username = txtUsername.Text;
string email = txtEmail.Text;
// Veritabanı bağlantısını oluştur
string connectionString = "Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// Veritabanı komutunu oluştur
string commandText = "SELECT COUNT(*) FROM Users WHERE Username = @username OR Email = @email";
using (SqlCommand command = new SqlCommand(commandText, connection))
{
// Parametreleri ekle
command.Parameters.AddWithValue("@username", username);
command.Parameters.AddWithValue("@email", email);
// Komutu çalıştır
connection.Open();
int count = (int)command.ExecuteScalar();
// Kayıt zaten mevcutsa hata mesajı göster
if (count > 0)
{
MessageBox.Show("Bu kullanıcı adı veya e-posta adresi zaten kayıtlı.");
}
else
{
// Kaydı veritabanına ekle
// ...
}
}
}
}
}
}
“`
Çalışma Prensibi
Bu kod şu şekilde çalışır:
- TextBox’lardan kullanıcı adı ve e-posta adresini alır.
- Veritabanı bağlantısını oluşturur.
- Veritabanı komutunu oluşturur ve parametreleri ekler.
- Komutu çalıştırır ve veritabanında benzersiz anahtar sütunlarına sahip kayıtların sayısını alır.
- Kayıt zaten mevcutsa bir hata mesajı gösterir.
- Kayıt mevcut değilse, kaydı veritabanına ekler.
Faydalı Siteler ve Dosyalar
- Veritabanı Tasarımı için Benzersiz Anahtarlar
- C# ile Veritabanı Bağlantısı
- C# ile Veritabanı Komutları
Sonuç
Bu makalede, C# kullanarak iki TextBox’tan alınan verileri karşılaştırarak aynı kaydın birden fazla kez girilmesini nasıl önleyebileceğinizi gösterdik. Bu teknik, veri bütünlüğünü korumak ve veri işlemeyi kolaylaştırmak için çok önemlidir.