Şimdi Ara

c# veri çekme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
1.397
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Birkaç sütundan oluşan bir veritabanım var. Sütunun birinde string olarak zaman bilgisi tutuluyor. Formatı ise şöyle: 14.06.29 16:44:55 şeklinde. Ayrıca bu günün zaman bilgisini tutan bir string değişkenim var. Ona da şöyle değer verdim: zamankontrol=DateTime.Now.ToString("yy.MM.dd"); şeklinde. Sorum şöyle olacak: Veri tabanımdan veri çekerken sadece bu gün girilmiş kayıtları tutan satırların gelmesini istiyorum.
    Select sutun1, sutun2, sutun3 from tabloadi where zamankontrol=substring(sutun3,0,7)
    gibi yazdım hata verdi. Nasıl yapabilirim. Teşekkürler ...



  • 1- Databasede zamanı tutan sütunun türünü string değilde date yap işin kolaylaşır.Sütunun adıda zaman olsun
    2-SQL sorgusu içinde c# kodu kullanamazsın

    3- Sana örnek bir sql sorgusu:

    buradaki tarih formatı (y/m/d) olacak şekilde istediğin tarih olabilir, sana bu tarihte eklenmiş verileri verir:

    "select * from db where zaman>=tarih and zaman<dateadd(dd,1,tarih)"
  • tarih/saat formatına dönderdim veritabanındaki sütunu fakat hata veriyor "Additional information: Ölçüt ifadesinde veri türü uyuşmazlığı." diye
    veri tabanında giriszamani sütunu Tarih/Saat formatında biçimi ise Genel Tarih yani 12.11.2015 17:34:23 şeklinde.
    veritabanına insert into ile '" + Convert.ToDateTime(textBox4.Text).ToString("dd.MM. yyyy HH:mm:ss") + "' şeklinde kayıt ettiriyorum.

    adpt = new OleDbDataAdapter("Select * from tablogiriscikis where giriszamani = '" +DateTime.Now.ToString("dd.MM.yyyy")+"'",baglanti) ;
    şeklinde yaptım aynı hatayı verdi.

    adpt = new OleDbDataAdapter("Select * from tablogiriscikis where giriszamani = '#" +DateTime.Now.ToShortDateString()+"#'",baglanti) ;
    yaptım yine aynı hata

    ne yaptıysam kabul etmiyor. anlamadım gitti
    veriyi tutan sütundan belirli bir zamanı aldım 6.7.2014 18:20:56 diye eşitse göster diye yine aynı hatayı veriyor.
    '"+Convert.ToDateTime("6.7.2014 18:20:56")+"' diye yazdım aynı hata.
    hatta sütunu sildim tekrar yeni oluşturdum zaman tipinde sonuc: hata





  • iceman_bu İ kullanıcısına yanıt
    Tarih formatını yanlış ayarlıyorsun, format şu şekilde olmalı: "yyyy-MM-dd HH:mm:ss"


    örnek:

    DateTime tarih= DateTime.Now; 
    string sqlTarih = tarih.ToString("yyyy-MM-dd HH:mm:ss");
  • fakat veritabanında tarih biçiminde "Genel Tarih 12.11.2015 17:34:23" şeklinde seçim var ben de onu seçtim. Yine de senin verdiğin gibimi yazmak lazım?
  • iceman_bu İ kullanıcısına yanıt
    tarih biçimini üstteki mesajdaki formata getirip dene.
  • ÇÖZDÜM

    adpt = new OleDbDataAdapter("Select * from tablogiriscikis where giriszamani >=@tarih and giriszamani<@tarihbitis ", baglanti);
    adpt.SelectCommand.Parameters.AddWithValue("@tarih ",DateTime.Now.ToString("yyyy.MM.dd") );
    adpt.SelectCommand.Parameters.AddWithValue("@tarih bitis",DateTime.Now.AddDays(1).ToString("yyyy.MM.dd"));
    adpt.Fill(tablo);
    dataGridView1.DataSource = tablo;
    baglanti.Close();

    teşekkürler cevaplarınız için



    < Bu mesaj bu kişi tarafından değiştirildi iceman_bu -- 7 Temmuz 2014; 23:52:04 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.