Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
12
Cevap
1359
Tıklama
0
Öne Çıkarma
C# Datetimepicker'dan seçilen tarihe göre veri silme
T
10 yıl
Onbaşı
Konu Sahibi

Arkadaşlar bir tane datetimepicker var . buradan seçilen tarihe göre veri tabanında silme işlemi yapmak istiyorum . Bir türlü yapamadım . Yardımcı olur musunuz? Kodlarım:
 private void button2_Click(object sender, EventArgs e) 
{
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "Delete From Tablo1 where tarih='" + dateTimePicker2.Value.ToShortDateString() + "'";
komut.ExecuteNonQuery();
komut.Dispose();
baglanti.Close();
ds.Tables["Tablo1"].Clear();
listele();
}



.
10 yıl
Teğmen

Veri tabnından tarih silmek istiyorsun fakat string formatında gönderiyorsun hata almanın sebebi o internetten tarih ile ilgili bir sql komutuna bak direk anlarsın.


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

Tam olarak ne yapmam gerekiyor . toShortDateString i sildiğimde , butona bastığım zaman hata vermiyor fakat verileri de silmiyor .


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.SoS.
.
10 yıl
Teğmen

Hangi veritabanını kullandığınız bilmiyorum fakat toShortDateString in sonuna .replace() fonksiyonunu deneyin date time size tarihi 15/17/2009 gibi veriyordur fakat veritabanınızda 15.17.2009 şeklinde olabilir yani bu örenek için replacin içine ('/','.') yazmanız gerekebilir.


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

Veritabanında tarih satırını metin biçiminde yaparsam kodlar sorunsuz çalışıyor fakat tarih saat yaparsam butona basınca hata veriyor . Takvimin tarih biçimi ile veritabanındaki tarih biçimi aynı . Anlamadım gitti garip işler


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.SoS.
.
10 yıl
Teğmen

Access mi kullanıyorsunuz? tırnak yerine # veya & deneyin.


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

Evet hocam access kullanıyorum . Dendeim yine olmadı belki yardımı dokunur resimler :
Veritabanı --->https://store.donanimhaber.com/db/46/c8/db46c88e2ad5fc0e11f2171cb1d58d7c.png] vehttps://store.donanimhaber.com/32/8a/af/328aaf82d364b3c9484b037033b5e3f1.png


Uygulama görünümü --->https://store.donanimhaber.com/6a/89/cf/6a89cfe27246747191208f8ea87a6e52.png


Hata mesajı --->https://store.donanimhaber.com/45/f0/72/45f072cf5c5106a6a2167611d4840f3c.png
< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.SoS.
.
10 yıl
Teğmen

komut.CommandText = "Delete From Tablo1 where tarih=#" + dateTimePicker2.Value.ToShortDateString().Replace('.', '/') + "#";


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

Eyvallah hocam sayende bu sefer oldu . Beni büyük bir dertten kurtardın .
Bir sorum daha olacak şimdi şöyle birşey yapabilirmiyiz kullanıcı datetimepicker dan bir gün seçince textbox lara veritabanında o günün açıklaması varsa veriler çekilsin. Yani diyelim takvimde 20 ocağı seçtik . Daha önceden o güne veri eklemiştik . Önceden eklediğimiz veriler textbox lara gelsin Textbox1 e "ad" textbox 2 ye "açıklama". Hem böylece kullanıcı notları düzenleyebilir.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.SoS.
.
10 yıl
Teğmen

datetimpicker cahned value (varsayılan olaydır çift tıklarsanız direk oluşur butonun clikc olayı gibi)

cmd.commandtex="select ad,açıklama from tablo1 where tarih=#datetimepicker.value.toshortdatestring.replace('.','/');
oleddatareader rdr = cmd.executenonreader();
while(rdr.read())
{
try{
textbox1.text = rdr["ad"].tostring();
textbox2.text=rdr["açıklama"].tostring();
}
catch{}

}
connection.close()


İşim var aceleyle yazdım anlaşılıyor herhalde :)


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

 private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
{
baglanti.Open();
komut.CommandText = "select ad,açıklama from Tablo1 where tarih=#" +dateTimePicker1.Value.ToShortDateString().Replace('.','/')+ "#";
OleDbDataReader dr = komut.ExecuteReader();
while (dr.Read())
{
try
{
textBox1.Text = dr["ad"].ToString();
textBox2.Text = dr["açıklama"].ToString();
}
catch { }
baglanti.Close();
}
}

Kodları yazdım fakat "ExecuteReader: Connection özelliği başlatılmamış." hatası alıyorum takvimden gün seçince





< Bu mesaj bu kişi tarafından değiştirildi TecnoDunya -- 29 Ocak 2016; 0:07:05 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.SoS.
.
10 yıl
Teğmen

Hocam sizin önce biraz temel c# çalışmanız lazım daha sonra bu database işlerine girmeniz lazım bence :)

baglanti.open(); satırının altına şunu ekleyin
cmd.connection = baglanti;


Bu mesaja 1 cevap geldi.
T
10 yıl
Onbaşı
Konu Sahibi

Hocam bu seferde "Okuyucu kapalıyken Read öğesini çağırma girişimi geçersiz." hatası alıyorum . baglanti.close kodunu sildiğimde textbox a veri geliyor fakat bu seferde önceki kodlarda hata çıkıyor . Butona bastığımda "Bağlantı kapatılmadı. Bağlantının geçerli durumu: açık." hatası geliyor




Bu mesajda bahsedilenler: @.SoS.
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.