C Datagridview Veri Ekleme Sql

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


Yayımlandı

kategorisi