none
Conversion failed when converting date and/or time from character string RRS feed

  • Soru

  • Kategori ve seçilen tarihe göre gelen bilgilerin fiyatlarının toplamını DataGridview'e aktarmaya çalıştım, fakat bu sorunla karşılaştım.

     SqlCommand label = new SqlCommand("Select SUM(Fiyat) from Harcamalar where Kategori ='" + kategori_combo.SelectedItem   + "' AND Alindigi_Tarih > '" + Tarih_secim.Value + "' AND Alindigi_Tarih <= '" + Tarih_secim_2.Value + "' ", bag);

      da = new SqlDataAdapter(label);
      tablo = new DataTable();
      da.Fill(tablo);
      secimi_sirala_grid.DataSource = tablo;

    24 Aralık 2019 Salı 13:14

Yanıtlar

  • ASLA ve ASLA böyle + ... + .... seklinde SQL cümlesi yazmayın, parametre kullanın. Parametre kullanmadiginiz surece böyle hataları alirsiniz, ve aslında basınıza gelebileceklerin yanında hata almanız daha iyi bir şey olarak kalır.

    string label = @"Select SUM(Fiyat) 
       from Harcamalar 
       where Kategori = @kategori  AND 
             Alindigi_Tarih > @alTarih AND 
             Alindigi_Tarih <= @alTarih2";
    
      var secilen = kategori_combo.SelectedItem as string;
      var adapter = new SqlDataAdapter(label, bag);
      adapter.SelectCommand.Parameters.Add("@kategori", SqlDbType.VarChar).Value = secilen;
      adapter.SelectCommand.Parameters.Add("@alTarih", SqlDbType.DateTime).Value = Tarih_secim.Value;
      adapter.SelectCommand.Parameters.Add("@alTarih2", SqlDbType.DateTime).Value = Tarih_secim_2.Value;
    
      tablo = new DataTable();
      adapter.Fill(tablo);
      secimi_sirala_grid.DataSource = tablo;

     


    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    24 Aralık 2019 Salı 13:35
    Yanıtlayıcı

Tüm Yanıtlar

  • ASLA ve ASLA böyle + ... + .... seklinde SQL cümlesi yazmayın, parametre kullanın. Parametre kullanmadiginiz surece böyle hataları alirsiniz, ve aslında basınıza gelebileceklerin yanında hata almanız daha iyi bir şey olarak kalır.

    string label = @"Select SUM(Fiyat) 
       from Harcamalar 
       where Kategori = @kategori  AND 
             Alindigi_Tarih > @alTarih AND 
             Alindigi_Tarih <= @alTarih2";
    
      var secilen = kategori_combo.SelectedItem as string;
      var adapter = new SqlDataAdapter(label, bag);
      adapter.SelectCommand.Parameters.Add("@kategori", SqlDbType.VarChar).Value = secilen;
      adapter.SelectCommand.Parameters.Add("@alTarih", SqlDbType.DateTime).Value = Tarih_secim.Value;
      adapter.SelectCommand.Parameters.Add("@alTarih2", SqlDbType.DateTime).Value = Tarih_secim_2.Value;
    
      tablo = new DataTable();
      adapter.Fill(tablo);
      secimi_sirala_grid.DataSource = tablo;

     


    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.

    24 Aralık 2019 Salı 13:35
    Yanıtlayıcı
  • Teşekkür ederim, Sayenizde çözüldü.
    25 Aralık 2019 Çarşamba 07:33