C# DataGridView’e SQL Veritabanından Veri Ekleme
Giriş
C# Windows Forms uygulamalarında, DataGridView kontrolü, verileri tablo biçiminde görüntülemek ve düzenlemek için yaygın olarak kullanılır. Bu makale, bir SQL veritabanından DataGridView’e veri ekleme işlemini ayrıntılı olarak açıklayacaktır.
Veritabanı Bağlantısı Oluşturma
İlk adım, SQL veritabanına bir bağlantı oluşturmaktır. Bu, System.Data.SqlClient
ad alanını kullanarak yapılabilir:
“`csharp
using System.Data.SqlClient;
// Bağlantı dizesini oluşturun
string connectionString = “Server=localhost;Database=Northwind;User Id=sa;Password=mypassword;”;
// Bağlantı nesnesini oluşturun
SqlConnection connection = new SqlConnection(connectionString);
“`
Veri Ekleme Sorgusu Oluşturma
Veritabanına veri eklemek için bir SQL INSERT sorgusu kullanmanız gerekir. Sorgu, eklenecek verileri ve hedef tabloyu belirtmelidir:
sql
INSERT INTO Customers (CustomerID, CompanyName, ContactName, ContactTitle)
VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle)
Parametreli Sorgular Kullanma
SQL Injection saldırılarını önlemek için parametreli sorgular kullanmanız önerilir. Parametreler, sorguya değerleri güvenli bir şekilde eklemenize olanak tanır:
“`csharp
// Parametreleri oluşturun
SqlParameter customerIDParam = new SqlParameter(“@CustomerID”, SqlDbType.NVarChar, 5);
SqlParameter companyNameParam = new SqlParameter(“@CompanyName”, SqlDbType.NVarChar, 40);
SqlParameter contactNameParam = new SqlParameter(“@ContactName”, SqlDbType.NVarChar, 30);
SqlParameter contactTitleParam = new SqlParameter(“@ContactTitle”, SqlDbType.NVarChar, 30);
// Parametre değerlerini atayın
customerIDParam.Value = “ALFKI”;
companyNameParam.Value = “Alfreds Futterkiste”;
contactNameParam.Value = “Maria Anders”;
contactTitleParam.Value = “Sales Representative”;
// Parametreleri sorguya ekleyin
command.Parameters.Add(customerIDParam);
command.Parameters.Add(companyNameParam);
command.Parameters.Add(contactNameParam);
command.Parameters.Add(contactTitleParam);
“`
Veri Ekleme İşlemi
Veri ekleme işlemi, SqlCommand
nesnesinin ExecuteNonQuery
yöntemini çağırarak gerçekleştirilir:
“`csharp
// Sorguyu çalıştırın
int rowCount = command.ExecuteNonQuery();
// Eklenen satır sayısını kontrol edin
if (rowCount > 0)
{
MessageBox.Show(“Veriler başarıyla eklendi.”);
}
else
{
MessageBox.Show(“Veri ekleme işlemi başarısız oldu.”);
}
“`
Örnek Kod
Aşağıdaki kod örneği, “Customers” tablosuna bir satır ekleme işlemini göstermektedir:
“`csharp
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DataGridViewExample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnAdd_Click(object sender, EventArgs e)
{
// Veritabanı bağlantısı oluşturun
string connectionString = "Server=localhost;Database=Northwind;User Id=sa;Password=mypassword;";
SqlConnection connection = new SqlConnection(connectionString);
// Parametreli sorgu oluşturun
string query = "INSERT INTO Customers (CustomerID, CompanyName, ContactName, ContactTitle) " +
"VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle)";
SqlCommand command = new SqlCommand(query, connection);
// Parametreleri oluşturun ve değerleri atayın
SqlParameter customerIDParam = new SqlParameter("@CustomerID", SqlDbType.NVarChar, 5);
customerIDParam.Value = "ALFKI";
command.Parameters.Add(customerIDParam);
SqlParameter companyNameParam = new SqlParameter("@CompanyName", SqlDbType.NVarChar, 40);
companyNameParam.Value = "Alfreds Futterkiste";
command.Parameters.Add(companyNameParam);
SqlParameter contactNameParam = new SqlParameter("@ContactName", SqlDbType.NVarChar, 30);
contactNameParam.Value = "Maria Anders";
command.Parameters.Add(contactNameParam);
SqlParameter contactTitleParam = new SqlParameter("@ContactTitle", SqlDbType.NVarChar, 30);
contactTitleParam.Value = "Sales Representative";
command.Parameters.Add(contactTitleParam);
// Sorguyu çalıştırın
int rowCount = command.ExecuteNonQuery();
// Eklenen satır sayısını kontrol edin
if (rowCount > 0)
{
MessageBox.Show("Veriler başarıyla eklendi.");
}
else
{
MessageBox.Show("Veri ekleme işlemi başarısız oldu.");
}
}
}
}
“`
Faydalı Kaynaklar
Önemli Not: Bu yazı Google Gemini yapay zekası tarafından otomatik olarak oluşturulmuştur ve hatalı bilgiler içerebilir. Düzeltmek için iletişim sayfamızdaki formdan veya yine iletişim sayfamızda bulunan eposta adresi yoluyla bizimle iletişime geçebilirsiniz. Hata varsa hemen düzeltilmektedir.