Coder

05 Ağustos 2013

ComboBox a veri tabanından veri gösterme

Filed under: ADO.NET — Etiketler:, , — Murat M.oğlu @ 18:19

Combobox kontrolüne veritabanındaki tablodan kayıtları gösterebilmek için Ado.net ile işlemi 3 satırlık kod yardımıyla yapabiliriz. Şöyle ki ;

[cc lang='csharp' ]
SqlConnection sql = new SqlConnection(“server=.; database=veritabaniadi; trusted_connection=true;”);
comboBox1.Items.Clear();

SqlCommand cmd = new SqlCommand(“Select kolonadi FROM tabloadi”, sql);
sql.Open();
SqlDataReader rdr = cmd.ExecuteReader();

while (rdr.Read())
{
comboBox1.Items.Add(rdr[0]);
}
sql.Close();

[/cc]

18 Haziran 2013

Database bağlı formda arama yapmak

Filed under: ADO.NET,C# — Etiketler:, , , — Murat M.oğlu @ 14:41

Veritabanına bağlı windows form uygulamasında form içinde database deki verileri arama yaparak listview veya başka bir kontrolde göstermek için yapmamız gereken standart olarak yaptığımız ado.net olayında sqlcommand satırındaki sorguya ek parametre ekleyerek sorguyu gerçekleştirmek.

veritabani-form-arama

Form ekranına resimdeki gibi textbox buton ve gelecek olan verileri gösterebilmek için listview kontrolü sürükleyip yerleştirin. Örnek içinde iki şekilde arama yapabilirsiniz. Biri Google daki gibi arama yaparken harfleri girdikçe çıkacak olan sonuçları anında gösteren(bu büyük veri için aramanızda performans kaybı yaşanacaktır), diğeri ise aratılacak olan kelimeyi girdikten sonra buton ile arama işlemini yaptırmak.

[wpdm_file id=14]

Buton ile aratma yapmak için buton clik olayına yazılacak kod;

[cc lang='csharp' ]SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);

private void btnAra_Click(object sender, EventArgs e)
{
lvListe.Items.Clear();
SqlCommand doldur = new SqlCommand(“select * from tblDeneme where ad like ‘%” + txtKelime.Text + “%’”, sql);
sql.Open();
SqlDataReader rdr = doldur.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr["ad"].ToString();
li.SubItems.Add(rdr["soyad"].ToString());
lvListe.Items.Add(li);
}

sql.Close();
}[/cc]

Textbox’un TextChanged olayına yazılacak kod;

[cc lang='csharp' ] private void txtKelime_TextChanged(object sender, EventArgs e)
{
lvListe.Items.Clear();
SqlCommand doldur = new SqlCommand(“select * from tblDeneme where ad like ‘%” + txtKelime.Text + “%’”, sql);
sql.Open();
SqlDataReader rdr = doldur.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr["ad"].ToString();
li.SubItems.Add(rdr["soyad"].ToString());
lvListe.Items.Add(li);
}

sql.Close();
}[/cc]

17 Haziran 2013

Windows form sql server bağlantısı

C# veya VB.net ile yapılan Windows form uygulamasında oluşturduğunuz veya oluşturulan sql veritabanına(mssql) bağlantı kurup verileri işleyebilmek için ADO.NET teknolojisinden faydalanmaktadır. Ado.net ile windows uygulamasını veya web(asp.net) uygulamasını birbirine bağlayıp veri transferi ve okuması yaptırabiliyorsunuz.

Peki bu bağlantı nasıl yapılıyor soracak olursanız; En basitinden local(kendi bilgisayarınızda) yaptığınız windows form uygulamasını sql server daki oluşturduğunuz veri tabanı ile bağlantı kurabilmek için SqlConnection den faydalanılır.

Kendi bilgisayarımda coder isimli veritabanıma bağlantı için form load veya başka bir yerde yazdığım kod satırı;

[cc lang='csharp' ]SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);
[/cc]

Bu şekilde bağlantı yolunu tanımlıyoruz. Bundan sonra yapacağımız işlemler için bu bağlantıdaki örnek uygulamaları inceleyebilirsiniz;

http://coder.digitaldunyam.net/ado-net/

08 Nisan 2013

App.Config nasıl eklenir ve kullanılır

Veritabanı ile haşır neşir projelerimizde veritabanı ile uygulamayı bağlamak için(database adı, kullanıcı adı, şifre vs.) bir veya birkaç yerde Connectionstring kullanırız. Bu gibi durumlarda hem güvenliği arttırmak hemde iş yükünü azaltmak için App.Config kullanımı çok önemlidir.

App.Config kullanımı hakkında fazla söz etmeden nasıl kullanırız görelim. Oluşturduğumuz masaüstü projemize App.Config dosyası yoksa ekliyoruz. Dosya içindeki connectionStrings etiketleri arasına aşağıdaki gibi ilgili yerlere bilgileri yazıyoruz.

[cc lang='xml' ]


[/cc]

system-configuration-ekleme

Proje içinde herhangi bir formda bağlantıyı kullanabilmek için App.Config’e bağlantı ismi ile aşağıdaki gibi çağırıyoruz. Bunu yapmadan önce System.Configuration referansını eklemeyi unutmayın…

[cc lang='csharp' ]SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);

//… bağlantıdan sonra geri kalan işlemler. [/cc]

Hali hazırda yapılan örneği aşağıdaki bağlantıdan indirebilirsiniz.

[wpdm_file id=10]

24 Aralık 2012

Ado.Net veri kayıt et güncelle sil

Microsoft’un veriye erişmek için geliştirdiği teknoloji Ado.net ile veritabanımızdaki verilere ulaşarak veri alış verişi yaptırabiliyoruz.(Bu ilk cümleyi kurmak için harcadığım zamanı yazının devamı için harcamıyorum :) ) Sık sık kullandığımız bu teknolojiyi bazen unutabiliyoruz. Arayüz aracılığı ile basit bir kayıt nasıl yapılır yada güncelleme, silme… Hatırlatma ve öğrenme babında bu yazıyı yazmak istedim.

ado-net-kayit-guncelle-sil

Resimdeki gibi basit bir form hazırlayıp Ado.net teknolojisi sayesinde veritabanına nasıl kayıt girme, güncelleme, silme gibi işlemleri beraber yapalım. Formdan önce Management Studio da bir veritabanı oluşturup içerisine tblKullanıcılar(farklı bir isim verebilirsiniz) adında tablo oluşturarak devam edebiliriz.

ado-net-veritabani

Resimdeki gibi formu oluştururken kafanız karışmasın, öğrenme maksadı ile yaptığım için ayrı ayrı butonlar ile olayları uyguladım. Burada kayıdı göstermek için listview kontrolünü kullandım. Aynı zamanda kayıt edildikten sonra listview e kayıt edilen veriyi çektim.

Listview’e veritabanındaki veriyi göstermek için, kod içinde tekrar tekrar yazmamak için listview doldurma metodunu hazırladım.

[cc lang="c#"]

private void listviewDoldur()
{
listView1.Items.Clear();
SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);

SqlCommand doldur = new SqlCommand(“select * from tblKullanicilar”, sql);
sql.Open();
SqlDataReader rdr = doldur.ExecuteReader();
while (rdr.Read())
{
ListViewItem li = new ListViewItem();
li.Text = rdr["ID"].ToString();
li.SubItems.Add(rdr["Adi"].ToString());
li.SubItems.Add(rdr["Soyadi"].ToString());
li.SubItems.Add(rdr["Telefon"].ToString());
li.SubItems.Add(rdr["Adres"].ToString());

listView1.Items.Add(li);
}

sql.Close();
}

[/cc]

Listview doldurma metodunu kayıt, güncelleme ve silme işlemlerinden sonra kullanacağız. Güncelleme veya silme işlemi yapabilmek için listviewden kayıt seçmemiz gerekir. Kayıtı seçip tekrar textboxlar içinde göstererek  kayıtlı veri üzerinde işlem yapabiliriz. Listview içindeki veriyi textboxlar içinde gösterebilmek için listview kontrolünün SelectedIndexChanged olayına alttaki kodları yazalım. id değişkenini güncelleme ve silme işleminde referans olarak kullanacağımız için  glabal olarak tanımladım.

[cc lang="c#"]

string id;
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
ListViewItem li = listView1.SelectedItems[0];
id = li.SubItems[0].Text;
txtAdi.Text = li.SubItems[1].Text;
txtSoyadi.Text = li.SubItems[2].Text;
txtTelefon.Text = li.SubItems[3].Text;
txtAdres.Text = li.SubItems[4].Text;

}
}

[/cc]

İlk önce veritabanına kayıt işlemini gerçekleştirelim

[cc lang="c#"]

private void btnKaydet_Click(object sender, EventArgs e)
{
SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);

SqlCommand cmd = new SqlCommand();
cmd.Connection = sql;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = “insert into tblKullanicilar (Adi, Soyadi, Telefon, Adres) values (@adi, @soyadi, @telefon, @adres)”;
cmd.Parameters.AddWithValue(“@adi”,txtAdi.Text );
cmd.Parameters.AddWithValue(“@soyadi”, txtSoyadi.Text);
cmd.Parameters.AddWithValue(“@telefon”, txtTelefon.Text);
cmd.Parameters.AddWithValue(“@adres”, txtAdres.Text);

sql.Open();

int etkilenen = cmd.ExecuteNonQuery();

sql.Close();

if (etkilenen > 0)
{
MessageBox.Show(“Kayıt edildi…”);
}
else
{
MessageBox.Show(“Kayıt edilmedi !!!”);
}

//Listview i dolduruyoruz alttaki metod ile

listviewDoldur();

}

[/cc]

 

Kayıt edilmiş veriyi  güncelleme yapabilmek için;

 

[cc lang="c#"]

private void btnGuncelle_Click(object sender, EventArgs e)
{
SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);

SqlCommand cmd = new SqlCommand();
cmd.Connection = sql;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = “update tblKullanicilar set Adi=@adi, Soyadi=@soyadi, Telefon=@telefon, Adres=@adres”;
cmd.Parameters.AddWithValue(“@adi”, txtAdi.Text); // buradaki id global tanımladığımız değişken aracılığı ile listview de seçilen kayıdın id sini tutmakta
cmd.Parameters.AddWithValue(“@soyadi”, txtSoyadi.Text);
cmd.Parameters.AddWithValue(“@telefon”, txtTelefon.Text);
cmd.Parameters.AddWithValue(“@adres”, txtAdres.Text);

sql.Open();

int etkilenen = cmd.ExecuteNonQuery();

sql.Close();

if (etkilenen > 0)
{
MessageBox.Show(“Güncellendi…”);
listviewDoldur();
}
else
{
MessageBox.Show(“Güncelleme başarısız !!!”);
}
}

[/cc]

Kayıt edilmiş veriyi silmek için,

 

[cc lang="c#"]

private void btnSil_Click(object sender, EventArgs e)
{
SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”);

SqlCommand cmd = new SqlCommand();
cmd.Connection = sql;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = “delete from tblKullanicilar where ID=@id”;
cmd.Parameters.AddWithValue(“@id”, id); // buradaki id global tanımladığımız değişken aracılığı ile listview de seçilen //kayıdın id sini tutmakta

sql.Open();

int etkilenen = cmd.ExecuteNonQuery();

sql.Close();

if (etkilenen > 0)
{
MessageBox.Show(“Güncellendi…”);
listviewDoldur();
}
else
{
MessageBox.Show(“Güncelleme başarısız !!!”);
}
}

[/cc]

13 Ağustos 2012

Listview tüm verileri database kayıt etme

Textbox dan veya başka bir yerden Listview’e girilen değerleri database imize kayıt etmek isteyebiliriz. Şöyle kısa bir senaryo ile anlatalım; kafe adisyon programında, garson masa müşteriden sipariş edilen ürünleri listview de saklayıp müşteri hesabını ödeyeceği zaman satılan ürünlerin adını ve fiyatını hesap kesiminde database’e kayıt ettirebilir. Buna benzer senaryoda kullanma babında bu uygulamayı paylaşmak istedim.

Örnek için resimdeki gibi bir arayüz formu hazırlayabilirsiniz. Buradaki amaç ilk önce textbox lardan girilen değerleri listview e kayıt etmek ardından listviewdeki tüm verileri tek hamle ile database e göndermek.

Burada coder isimli bir veritabanı bir tablo, içerinde id, adi ve soyadi kolonu bulunmakta. İlk önce textbox dan listview’e veri kayıt edelim.

[cc lang="c#"]
private void button1_Click(object sender, EventArgs e)
{
ListViewItem lv = new ListViewItem();
lv.Text = textBox1.Text;
lv.SubItems.Add(textBox2.Text);
listView1.Items.Add(lv);

}
[/cc]

[stextbox id="info"]Listview sınıfı nesneyi tanımladık fieldlarını doldurduk. Ardından listView1.Items.Add(lv) nesnedeki değeri listview e gönderdik. [/stextbox]

Resimdeki listview altında dbkayıt butonu ise listviewdeki değerleri tek seferde database e kayıt etmemizi sağlamakta. Buton clik ile kodlarına dalacak olursak;

[cc lang="c#"]
private void button2_Click(object sender, EventArgs e)
{

int etkilenen = 0;

for (int i = 0; i < listView1.Items.Count; i++ ) { try { SqlConnection sql = new SqlConnection("server=.; database=coder; trusted_connection=true;"); SqlCommand cmd = new SqlCommand(); cmd.Connection = sql; string adi = listView1.Items[i].SubItems[0].Text; string soyadi = listView1.Items[i].SubItems[1].Text; cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "insert into tblkisi (adi,soyadi) values (@adi, @soyadi)"; cmd.Parameters.AddWithValue("@adi", adi); cmd.Parameters.AddWithValue("@soyadi", soyadi); sql.Open(); cmd.ExecuteNonQuery(); sql.Close(); } catch (Exception) { MessageBox.Show("Kayıt edilmedi"); } } if (etkilenen != 0) // Açıklama 11 : { MessageBox.Show("Kayıt edilmedi !!!"); } else { MessageBox.Show("Kayıt edildi..."); } } [/cc] For döngüsü ile listview eklenmiş satır sayısı kadar döngü kurduk. Döngünün içinde değerleri okuması için listView1.Items[i] kaçıncı satırda ise o satırdaki veriyi stirng değişkenlerine atadık. Programın kopma noktası da burası oluyor zaten. Geriye kalan kısım Ado.net den başkası değil…

Programda bazı şeyler eksik biliyorum ama hatasız çalışmakta. Burada aktarmak istediğim bilgi listview içinde for ile dönmeden başka bir şey değil…

10 Ağustos 2012

C# Ado.net veri kayıt etme

İstek üzerine C# ile geliştirilen windows form uygulamasında ADO.net kullanarak basit mssql deki veri tabanına kayıt ekleme programı. ADO.net ile yeni tanışan arkadaşlara hitaben bu uygulamamızda iki adet textbox, bir adet buton, kişi listesini tutacak database ve içerisin de bir adet tablo(id, adi, soyadi kolonlarına sahip) araçları edindikten sonra işlemlere başlayabiliriz.

[cc lang="c#"]
private void button1_Click(object sender, EventArgs e)
{
string adi = textBox1.Text; //Açıklama 1 :
string soyadi = textBox2.Text;

SqlConnection sql = new SqlConnection(“server=.; database=coder; trusted_connection=true;”); // Açıklama 2 :

SqlCommand cmd = new SqlCommand(); // Açıklama 3:
cmd.Connection = sql; // Açıklama 4 :
cmd.CommandType = System.Data.CommandType.Text; // Açıklama 5 :
cmd.CommandText = “insert into tblkisi (adi,soyadi) values (@adi, @soyadi)”; // Açıklama 6 :
cmd.Parameters.AddWithValue(“@adi”, adi); // Açıklama 7 :
cmd.Parameters.AddWithValue(“@soyadi”, soyadi);

sql.Open(); // Açıklama 8 :

int etkilenen = cmd.ExecuteNonQuery(); // Açıklama 9 :

sql.Close(); // Açıklama 10 :

if (etkilenen > 0) // Açıklama 11 :
{
MessageBox.Show(“Kayıt edildi…”);
}
else
{
MessageBox.Show(“Kayıt edilmedi !!!”);
}

}
[/cc]

Kodların genel açıklaması kod üzerinden numaralarla alttaki açıklamalardan faydalanabilirsiniz.

[stextbox id="info"]

  1. Textboxlardaki değerleri belirlediğimiz string tipdeki değişkenlere atıyoruz.
  2. Veritabanı ile bağlatıyı kurmak için SqlConnection(using System.Data.SqlClient; isim alanını eklemeniz gerekir !) nesnesini tanımlayıp sql değişkenine atıyoruz.
  3. Sql komutları taşımasını sağlayan sınıfın nesnesini tanımlıyoruz. Sql komutları yazabilmek için.
  4. Hangi bağlantı üzerinden yapılacağını buradan aktarıyoruz.
  5. Kendi sql sorgumuzu yazacağımız için text tanımladık. Stored Procedure için farklı tanımlamamız gerekir. SP ile ilgili örnekler blogumda mevcut…
  6. Coder isimli veritabanımıza yeni kayıt eklemek için @ işareti ile @adi, @soyadi isiminde değişken tanımlıyoruz.
  7. Parameters.AddWithValue ile parametreleri ilk başta oluşturuduğunuz, yani kullanıcıdan aldığınız değerleri değişkenlere atamakta.
  8. Bağlantıyı açıyoruz, kapatmayı unutmamak gerekir.
  9. Sorguyu çalıştırmak için genellikle veritabanına değer gönderirken, select yapmayacaksak, db den veri gelmesini istemiyorsak insert, update ve delete işlemleri için kullanılır.
  10. Bağlantıyı kapatıyoruz.
  11. Etkilene data 0 dan büyük ise işlem gerçekleşmiş kabul edip kullanıcıya iletiyoruz.

[/stextbox]

08 Mart 2012

Aspnet QueryString makale gösterme

Başlık biraz anlamsız oldu anlıyorum sizi… Basit bir konu ile merhaba. Dinamik web sitelerinde kullanılan veritabanı ile ilişkili içerik yayınlama siteleri, kısaca basit makale okuma sitelerindeki database den makalenin sayfada nasıl gösterileceğini görelim.

Basit ve genel konu olduğu için araştırdığım kadarıyla çoğu site değinmemiş olaya. Direk konuya girersek, önceden hazırlarnmış veritabanımız ve tablomuz olsun. İçinde sade bir şekilde (id, baslik, makale) kolonları olsun. Görsel kısımda da bir ana.master sayfamız default ve makaleoku sayfalarımız olsun.

Birkaç ufak css ile ana.master sayfamızı başlıkların bulunduğu menü 300px ve yazının gösterileceği 600px lik alan ile ikiye bölünsün. Ana.master sayfamızın menüsüne güncel konular başlığı altında Datalist ekleyerek attaki gibi kodlayalım;

[cc lang="asp"]

ADO.NET Ajax Alter Table Android Asp.net C# Common Controls Css Declare Diğer E-Kitap Flash Insert Into JavaScript jQuery Linq Metod Php Sql Sql Server Stored Procedure Transaction View Visual Basic Visual Studio Xml

  • Sayfaya katıl takip et
  • Arşiv
  • Online Ziyaretçi Sayısı
    Giriş Yap
    Üye Ol

  • Powered by WordPress