c# kayıt işlemleri

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
meguntr
Üye
Mesajlar: 78
Kayıt: 23 Eki 2003 02:09

c# kayıt işlemleri

Mesaj gönderen meguntr »

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
meguntr
Üye
Mesajlar: 78
Kayıt: 23 Eki 2003 02:09

Mesaj gönderen meguntr »

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!!!");
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

en güzeli seninde yaptığın gibi sql kullanmak.
DeveloperToolKit

..::|YeşilMavi|::..
meguntr
Üye
Mesajlar: 78
Kayıt: 23 Eki 2003 02:09

Mesaj gönderen meguntr »

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
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

datagrid in datachange gibi bi olayı olması lazım. o olayda grid in istediğin alanının değerini textbox a aktarabilirsin.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
altunway
Üye
Mesajlar: 217
Kayıt: 11 Haz 2003 09:16
Konum: İstanbul
İletişim:

Mesaj gönderen altunway »

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!!!");
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();
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.
meguntr
Üye
Mesajlar: 78
Kayıt: 23 Eki 2003 02:09

Mesaj gönderen meguntr »

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....
}
Kullanıcı avatarı
akbeyfb
Üye
Mesajlar: 6
Kayıt: 12 Nis 2005 10:11

Mesaj gönderen akbeyfb »

Delphide bu işlemler iki tane component eklenerek cok daha kolay ve kod yazmadan yapılabiliyo .net platformunda buna benzer bi şey yapabiliyomuyuz yoksa bu şekildemi yapacağız her zaman....
meguntr
Üye
Mesajlar: 78
Kayıt: 23 Eki 2003 02:09

Mesaj gönderen meguntr »

akbeyfb hocam c# da da kayıt sihirbazları var, wizardla otomatik form luşturup navigatorları oluşturabiliyorsun ama pek sağlıklı olmuyor, c# ınki delphiden biraz değişik c# da conn. ve kayıt işlemlerini kodla yapmanı tavsiye ederim
Kullanıcı avatarı
akbeyfb
Üye
Mesajlar: 6
Kayıt: 12 Nis 2005 10:11

Mesaj gönderen akbeyfb »

sağolasın teşekkür ederim...zaten cok karmaşık geldi kodla daha az vaktimi alıyo....
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

iyide arakadaşlar bu işi daha zahmetsizce yapıyorduk biz anlaşılan Veri tabanında daha c# çok ekmek yemeli...
Cevapla