c# kayıt işlemleri
c# kayıt işlemleri
Merhaba c# bir veri tabanına(SQL) kayıt işlemlerinin en doğru yolu nedir, araştırdım, 4 5 yolu var ama hepsi birbirinden karışık, bi satır silmek için delphideki gibi table1.delete demek yerine satırlarca kod yazmam gerekiyor,
kayıt eklemek, silmek, ileri, geri işlemlerini nasıl yapsam daha dogru olur,
bi currency manager var bi datarowla yapılan var bi veri tabanıyla direk çalışıp kayıt yapılıyor, bi store procedure le kayıt yapılmış, kafam karıştı benim bunlardan, en iyisi , sizin kullandığınız yöntemlerr nelerdir,
teşekkürler kolay gelsin
kayıt eklemek, silmek, ileri, geri işlemlerini nasıl yapsam daha dogru olur,
bi currency manager var bi datarowla yapılan var bi veri tabanıyla direk çalışıp kayıt yapılıyor, bi store procedure le kayıt yapılmış, kafam karıştı benim bunlardan, en iyisi , sizin kullandığınız yöntemlerr nelerdir,
teşekkürler kolay gelsin
Aşagıdaki kod uygun bir yaklaşım olur mu, ögrenirken dogru başlamak istiyorum, fikirleriniz önemli
giris.mycon.Open();
OleDbCommand query = new OleDbCommand();
query.Connection=giris.mycon;
query.CommandText = "insert into OGRENCILER(ONO,ADI,SOYADI,EMAIL,ADRES) values("+textBox1.Text+",'"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"') " ;
query.ExecuteNonQuery();
giris.mycon.Close();
MessageBox.Show("ÖĞRENCİ veri tabanına kaydedilmiştir!!!");
giris.mycon.Open();
OleDbCommand query = new OleDbCommand();
query.Connection=giris.mycon;
query.CommandText = "insert into OGRENCILER(ONO,ADI,SOYADI,EMAIL,ADRES) values("+textBox1.Text+",'"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"') " ;
query.ExecuteNonQuery();
giris.mycon.Close();
MessageBox.Show("ÖĞRENCİ veri tabanına kaydedilmiştir!!!");
teşekkürler, birde textbox.text özelliklerini databinding le tablodaki alanlara bağlıyorum, ama datagridle ,textbox ları aynı anda hareket ettiremiyorum, ileri tuşuna bastığımda dbgrid deki satır bi ileri gidiyor ama textboxlarda aynı kayıt duruyor,
ikisini aynı anda hareket ettirmek mümkün mü?
kolay gelsin
ikisini aynı anda hareket ettirmek mümkün mü?
kolay gelsin
S.A nacizane bir kaç tavsiyede bulunayım ..CommandText içinde direk textbozlari kullanacagın yerine parametreler vererek bu olayı yapabilirsin.Hem performans acısından hemde kodun okunabilirligi acısından cok faydalı olacaktır.giris.mycon.Open();
OleDbCommand query = new OleDbCommand();
query.Connection=giris.mycon;
query.CommandText = "insert into OGRENCILER(ONO,ADI,SOYADI,EMAIL,ADRES) values("+textBox1.Text+",'"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"') " ;
query.ExecuteNonQuery();
giris.mycon.Close();
MessageBox.Show("ÖĞRENCİ veri tabanına kaydedilmiştir!!!");
giris.mycon.Open();
query.CommandText = "insert into OGRENCILER(ONO,ADI,SOYADI,EMAIL,ADRES) values(@ONO,@ADI,@SOYADI,@EMAIL,@ADRES) " ;
//PARAMETRELER TANIMLANIYOR
Query.Parameters.Add("@ONO",SqlDbType.NVarChar,10);
Query.Parameters.Add("@ADI",SqlDbType.NVarChar,20);
Query.Parameters.Add("@SOYADI",SqlDbType.NVarChar,20);
Query.Parameters.Add("@EMAIL",SqlDbType.NVarChar,20);
Query.Parameters.Add("@ADRES",SqlDbType.NVarChar,150);
// DEGERLER PARAMETRELERE AKTARILIYOR
Query.Parameters["@ONO"].Value=text1.Text;
Query.Parameters["@ADI"].Value=text2.Text;
Query.Parameters["@SOYADI"].Value=text3.Text;
Query.Parameters["@EMAIL"].Value=text4.Text;
Query.Parameters["@ADRES"].Value=text5.Text;
query.ExecuteNonQuery();
giris.mycon.Close();
MessageBox.Show("ÖĞRENCİ veri tabanına kaydedilmiştir!!!");
Bunu bir sitede okumustum hem okunabilirlik hemde performansa guzel etkileri var.Boyle calısmanı tavsiye ederim.değişkenleri ve veri tiplerini eger farklı ise kendine gore uyarlamalısın.
kolay gele.
Teşekkürler arkdaşlar , Grid sorusu biraz konu başlığının dışında oldu ama, yine kayıt işlemlerinde kullanıyorum,
benim yapmak istediğim datagrid de hareket ettiğimde textBoxlarda da o değişikler yansısın istiyordum onuda beraber yaptık
datagrid in currentcellchange ozellliği var,orda doldur isminde bi fonkisyon tanımladım halloldu
//PLAKA TABLO DAKİ BİRİNCİ ALAN
void doldur()
{
textBox1.DataBindings.clear();// ilk önce temizlemezse ikinci değişiklikte çatlıyor çünki 2 tane bağlantı yapılamıyor
textBox1.databindings.add("Text",dataset,"PLAKA");
...
...
textbox2....
}
benim yapmak istediğim datagrid de hareket ettiğimde textBoxlarda da o değişikler yansısın istiyordum onuda beraber yaptık
datagrid in currentcellchange ozellliği var,orda doldur isminde bi fonkisyon tanımladım halloldu
//PLAKA TABLO DAKİ BİRİNCİ ALAN
void doldur()
{
textBox1.DataBindings.clear();// ilk önce temizlemezse ikinci değişiklikte çatlıyor çünki 2 tane bağlantı yapılamıyor
textBox1.databindings.add("Text",dataset,"PLAKA");
...
...
textbox2....
}