DateTimePicker ile Veri Getirme

Katılım
27 Ocak 2015
Mesajlar
36
Yer
İzmir
Daha fazla  
Cinsiyet
Erkek
Meslek
Software Developer
Ekran Alıntısı.PNG

DateTimePicker ile veri getirmek istiyorum ama bir türlü getiremiyorum kafayı yiyeceğim kodlar bunlar;

Kod:
//Göster Butonu.
private void button4_Click(object sender, EventArgs e)
        {
            string donustur = dateTimePicker2.Value.ToString("dd - MM - yyyy");
            baglan.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = baglan;
            cmd.CommandText = "select * from tablo1 where dogumtarihi between dogumtarihi = @dt";
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@dt", donustur);
            bilgi.SelectCommand = cmd;
            DataSet ds = new DataSet();
            bilgi.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            baglan.Close();
            kisileriListele();
        }

namespace ProjeDeneme_1
{
    public partial class Form1 : Form
    {
        SqlConnection baglan = new SqlConnection("Data Source=DESKTOP-7VA9GU2;Initial Catalog=deneme1; Integrated Security=True");
        SqlCommand komut;
        SqlDataAdapter bilgi;
        DataTable tablo = new DataTable();
        string sorgu;
        string secilen_id = "-1";
        public Form1()

Ne kadar doğru bilmiyorum 10.sınıf öğrencisiyim doğum günü hatırlatıcısı yapıyorum her şey tamam sadece sql serverden bir türlü kişileri getiremedim. Göster butonuna bastığım zaman datetimepicker de hangi tarih varsa onu getirmesi lazım arkadaşlar proje ödevi yardımcı olursanız çok mükemmel olur yetiştirmem lazım şimdiden teşekkür ederim yardımlarınızı bekliyorum.
 
Donustur değişkeni "yyyy-MM-dd" şeklinde falan olmalı herhalde. Sql Server veritabanındaki tabloda yaratıldığı formatta olmalı.

Between kullanımı da yanlış sanırım. .. where dogumtarihi between donustur1 and donustur2 şeklinde falan olmalı. Bu 2 hata haricinde kalanı doğru gibi görünüyor.
 
string donustur1 = dateTimePicker1.Value.ToString("dd - MM");
string donustur2 = dateTimePicker3.Value.ToString("dd - MM");
SqlConnection baglanti = new SqlConnection("Data Source=DESKTOP-7VA9GU2;Initial Catalog=deneme1; Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from tablo1 where dogumtarihi between "+donustur1+" and "+donustur2,baglanti);
baglanti.Open();
veri tabanındaki format ı nasıl değiştireceğim peki?
 
Örneğin 15 Mart 2016 tarihi, Sql Server veritabanında muhtemelen 2016-03-15 şeklinde duruyordur, yani yıl-ay-gün şeklinde. Management Studio ile tabloya bakıldığında bu görülür zaten. İşte bu durumda toString kısmındaki format (boşluksuz) "yyyy-MM-dd" olmalıdır diyorum. Format değiştir demiyorum, formdan dönüştürdüğün string ile veritabanındaki date stringi aynı formatta olmalı diyorum. senin ("dd - MM") olayı ("yyyy-MM-dd") olduğunda sorun kalmayacaktır.
 
Doğum tarihi alanı "nvarchar" değil "date" olmalı ki sql ifadelerdeki between veya "<", ">" gibi hesaplama sözcükleri işe yarasın. Bir de kodda ("yyyy-MM-dd") şeklinde bir düzeltme yaparsan tamamdır.
 
Uyarı! Bu konu 9 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı