Asp.net MySQL veritabanı ile Kayıt Ekleme, Silme, Güncelleme, Listeleme
Daha önceki makalemizde işlediğimiz gibi MySQL veritabanımızı oluşturup, ilgili DLL'leri Visual Studio 2013 içerisine ekliyoruz. Bu şekilde MySQL veritabanı bağlantısı için ilgili kütüphaneleri projemize eklemiş oluyoruz.
Daha sonra Visual Studio 2013'te yeni açtığımız Web Site projesine bir Web Form ekliyoruz. Web Form'un ismini MyList koydum. Daha sonra Data sekmesinde bir GridView nesnesini projemize ekliyoruz. Nesnemizin adı GridView1 oluyor.
Web.Config dosyamızda bağlantı stringini tanımlıyoruz, tamamı aşağıdaki gibidir.
Web.Config Dosyamız
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="mysqlBaglantiStr" connectionString="Data Source=localhost;port=3306;Initial Catalog=okul;User Id=root;password="/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="MySql.Web, Version=6.9.8.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.5"/>
</system.web>
</configuration>
Bu kısımda ise projemize MyList ismini vererek eklediğimiz Web Formun C# kodlarını görüyorsunuz. Veritabanlarına bağlantı için System.Data ve MySql.Data.MySqlClient kütüphanelerini using kısmında tanımlıyoruz. BindGrid() metodu Web.Config dosyasında bağlantı parametrelerini yazdığımız MySQL veritabanına bağlantı yapıyor. Kayıt Ekleme, Silme, Güncelleme işlemlerinden sonra bu metodu çağırarak verileri veritabanından tekrar çekeceğiz.
Daha sonra Insert metodunda ise parametreli değişken kullanarak MySQL veritabanına kayıt ekliyoruz. İlk örneğimizde parametreli kullanmamıştık, parametreli kullanım daha güvenlidir. SQL Injection vb. saldırılardan verilerinizi korur.
Daha sonra Insert metodunda ise parametreli değişken kullanarak MySQL veritabanına kayıt ekliyoruz. İlk örneğimizde parametreli kullanmamıştık, parametreli kullanım daha güvenlidir. SQL Injection vb. saldırılardan verilerinizi korur.
MyList.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using MySql.Data.MySqlClient;
public partial class MyList : System.Web.UI.Page
{
//Grid bağlantısı için gerekli kodlar, Ekleme, Silme ve Güncellemeden sonra bu metodu çağıracağız
private void BindGrid()
{
string constr = ConfigurationManager.ConnectionStrings["mysqlBaglantiStr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM ogrenci"))
{
using (MySqlDataAdapter sda = new MySqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
}
//Kayıt Ekleme
protected void Insert(object sender, EventArgs e)
{
string okulno = txtOkulNo.Text;
string adi = txtAdi.Text;
string soyadi = txtSoyadi.Text;
string dogumyeri = txtDogumYeri.Text;
string constr = ConfigurationManager.ConnectionStrings["mysqlBaglantiStr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("INSERT INTO ogrenci (okulno, ADI, SOYADI, DOGUMYERI) VALUES (@okulno, @adi, @soyadi, @dogumyeri)"))
{
using (MySqlDataAdapter sda = new MySqlDataAdapter())
{
cmd.Parameters.AddWithValue("@okulno", okulno);
cmd.Parameters.AddWithValue("@adi", adi);
cmd.Parameters.AddWithValue("@soyadi", soyadi);
cmd.Parameters.AddWithValue("@dogumyeri", dogumyeri);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
this.BindGrid();
}
// Sayfa yüklenirken Grid Bağlantısını yapıyoruz.
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
// Grid satırı Düzenlenirken, Edit edilirken çalışacak kodlar. GridView olaylarından seçiyoruz
// Grid satırı Düzenlenirken, Edit edilirken çalışacak kodlar. GridView olaylarından seçiyoruz
protected void OnRowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
this.BindGrid();
}
protected void OnRowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
this.BindGrid();
}
// GridView'de satır Güncellenirken çalışacak kodlar
// GridView'de satır Güncellenirken çalışacak kodlar
protected void OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
int ogrenciID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0]);
int okulno = Convert.ToInt32((row.FindControl("txtOkulNo") as TextBox).Text);
string adi = (row.FindControl("txtAdi") as TextBox).Text;
string soyadi = (row.FindControl("txtSoyadi") as TextBox).Text;
string dogumyeri = (row.FindControl("txtDogumYeri") as TextBox).Text;
string constr = ConfigurationManager.ConnectionStrings["mysqlBaglantiStr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("UPDATE ogrenci SET okulno=@okulno, ADI = @adi, SOYADI = @soyadi, DOGUMYERI=@dogumyeri WHERE ogrenciID = @ogrenciID"))
{
using (MySqlDataAdapter sda = new MySqlDataAdapter())
{
cmd.Parameters.AddWithValue("@ogrenciID", ogrenciID);
cmd.Parameters.AddWithValue("@adi", adi);
cmd.Parameters.AddWithValue("@soyadi", soyadi);
cmd.Parameters.AddWithValue("@okulno", okulno);
cmd.Parameters.AddWithValue("@dogumyeri",dogumyeri );
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
GridView1.EditIndex = -1;
this.BindGrid();
}
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowIndex != GridView1.EditIndex)
{
(e.Row.Cells[4].Controls[2] as LinkButton).Attributes["onclick"] = "return confirm('Bu kaydı silmek istediğinize emin misiniz?');";
}
}
// GridView'de Satır Silinirken çalışacak kodlar, GrifView Olaylarından tıklayıp dolduruyoruz
// GridView'de Satır Silinirken çalışacak kodlar, GrifView Olaylarından tıklayıp dolduruyoruz
protected void OnRowDeleting(object sender, GridViewDeleteEventArgs e)
{
int ogrenciID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0]);
string constr = ConfigurationManager.ConnectionStrings["mysqlBaglantiStr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("DELETE FROM ogrenci WHERE ogrenciID = @ogrenciID"))
{
using (MySqlDataAdapter sda = new MySqlDataAdapter())
{
cmd.Parameters.AddWithValue("@ogrenciID", ogrenciID);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
this.BindGrid();
}
}
Şimdi sıra geldi, MyList.aspx dosyamıza yani Web Form'umuzun design dosyasına. Burada bir GridView nesnesi var.
MyList.aspx Dosyamız
Şimdi sıra geldi, MyList.aspx dosyamıza yani Web Form'umuzun design dosyasına. Burada bir GridView nesnesi var.
MyList.aspx Dosyamız
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyList.aspx.cs" Inherits="MyList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
table
{
border: 1px solid #ccc;
width: 550px;
margin-bottom: -1px;
}
table th
{
background-color: #F7F7F7;
color: #333;
font-weight: bold;
}
table th, table td
{
padding: 5px;
border-color: #ccc;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="ogrenciID"
OnRowDataBound="OnRowDataBound" OnRowEditing="OnRowEditing" OnRowCancelingEdit="OnRowCancelingEdit"
OnRowUpdating="OnRowUpdating" OnRowDeleting="OnRowDeleting" EmptyDataText="No records has been added." OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:TemplateField HeaderText="OkulNo" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblOkulNo" runat="server" Text='<%# Eval("okulno") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtOkulNo" runat="server" Text='<%# Eval("okulno") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Adı" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblAdi" runat="server" Text='<%# Eval("ADI") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtAdi" runat="server" Text='<%# Eval("ADI") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Soyadı" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblSoyadi" runat="server" Text='<%# Eval("SOYADI") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtSoyadi" runat="server" Text='<%# Eval("SOYADI") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DoğumYeri" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblDogumYeri" runat="server" Text='<%# Eval("DOGUMYERI") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtDogumYeri" runat="server" Text='<%# Eval("DOGUMYERI") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Link" ShowEditButton="true" ShowDeleteButton="true"
ItemStyle-Width="150" />
</Columns>
</asp:GridView>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse">
<tr>
<td style="width: 150px">
Okul No:<br />
<asp:TextBox ID="txtOkulNo" runat="server" Width="100" />
</td>
<td style="width: 150px">
Adı:<br />
<asp:TextBox ID="txtAdi" runat="server" Width="100" />
</td>
<td style="width: 150px">
Soyadı:<br />
<asp:TextBox ID="txtSoyadi" runat="server" Width="100" />
</td>
<td style="width: 150px">
Doğum Yeri:<br />
<asp:TextBox ID="txtDogumYeri" runat="server" Width="100" />
</td>
<td style="width: 100px">
<asp:Button ID="btnEkle" runat="server" Text="Ekle" OnClick="Insert" />
</td>
</tr>
</table>
</form>
</body>
</html>
Mutlu Kodlamalar,
Oğuzhan TAŞ
Aralık, 2015
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?