Şimdi Ara

C# Uyarı Mesajı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
1
Favori
968
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ben bir araç takip programı yapmaya çalışıyorum. Daha amatörüm. Yapmaya çalıştığım databasedeki tarih kısmının kontrolünü yapıp zamanı gelince bir hata mesajı ile beni uyarması. Aşağıda yazdığım kodlarda hata mesajını gösteremiyorum. Yardımcı olur musunuz?
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.OleDb;
    using System.Globalization;
    using System.Threading;

    namespace AraçTakip
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=data.accdb");
    OleDbDataAdapter da;

    void listele()
    {
    con.Open();
    da = new OleDbDataAdapter("select * from liste", con);
    DataTable tablo = new DataTable();
    da.Fill(tablo);
    dataGridView1.DataSource = tablo;
    con.Close();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    listele();
    }

    public void kontrol()
    {
    OleDbCommand komut = con.CreateCommand();
    con.Open();
    komut = new OleDbCommand("Select * From liste Where tarih='" + DateTime.Now + "'", con);
    OleDbDataReader oku = komut.ExecuteReader();
    while (oku.Read())
    {
    MessageBox.Show("Vizesi Gelen Araçlar", "Deneme");
    }
    con.Close();

    }

    private void button1_Click(object sender, EventArgs e)
    {
    OleDbCommand cmd = con.CreateCommand();
    con.Open();
    cmd.CommandText = "Insert into liste(plaka,marca,model,tarih)Values(@plaka,@marca,@model,@tarih)";
    cmd.Connection = con;
    cmd.Parameters.AddWithValue("@plaka", textBox1.Text);
    cmd.Parameters.AddWithValue("@marca", textBox2.Text);
    cmd.Parameters.AddWithValue("@model", textBox3.Text);
    cmd.Parameters.AddWithValue("@tarih", dateTimePicker1.Value);
    cmd.ExecuteNonQuery();
    MessageBox.Show("Kayıt Yapıldı", "Başırıyla Tamamlandı");
    con.Close();
    listele();
    }

    private void button2_Click(object sender, EventArgs e)
    {
    OleDbCommand cmd = con.CreateCommand();
    con.Open();
    cmd.CommandText = "Delete From liste Where plaka=@plaka";
    cmd.Connection = con;
    cmd.Parameters.AddWithValue("@plaka", dataGridView1.CurrentRow.Cells[0].Value);
    cmd.ExecuteNonQuery();
    MessageBox.Show("Silme İşlemi Yapıldı", "Başırıyla Tamamlandı");
    con.Close();
    listele();
    }

    private void button3_Click(object sender, EventArgs e)
    {
    OleDbCommand cmd = con.CreateCommand();
    con.Open();
    cmd.CommandText = "Update liste Set marca=@marca,model=@model,tarih=@tarih Where plaka=@plaka";
    cmd.Connection = con;
    cmd.Parameters.AddWithValue("@marca", textBox2.Text);
    cmd.Parameters.AddWithValue("@model", textBox3.Text);
    cmd.Parameters.AddWithValue("@tarih", dateTimePicker1.Value);
    cmd.Parameters.AddWithValue("@plaka", textBox1.Text);
    cmd.ExecuteNonQuery();
    MessageBox.Show("Güncelleme Yapıldı", "Başırıyla Tamamlandı");
    con.Close();
    listele();
    }

    private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
    {
    textBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
    textBox2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
    textBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
    dateTimePicker1.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[3].Value.ToString());
    }
    }
    }



    Yardımlarınız İçin Şimdiden Teşekkür Ederim.







  • tarih büyüktür kullan sen saniyesine kadar veritabanına yazmışsın haliyle sorgulama yaptığın zamanın saniyesine kadar veritabanındaki değerle aynı değer olmayacağı için bir değer dönmüyor (olur ama çok çok zor ihtimal)
  • Demek istediğin aşağidaki gibi sanirim. Peki benim programım arka planda çalışırken mesaj kendiliğinde çıkacakmı yaksa her seferin de yeniden programı çalıştırmam mı lazım? Yani benim yapmaya çalıştığım programı bitkere çalıştıracağım o zamanı gelince beni uyaracak.



    komut = new OleDbCommand("Select * From liste Where tarih>='" + DateTime.Now + "'", con);

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • O zaman timer kullanarak yapacaksın

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Timer yapmaya çalıştım fakat bir türlü yapamadım sonra internette ataştırdım therad i da anlatmışlar onunlada yapmaya çalıştım bu seferde hata verdi sürekli

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Thread bambaşka konu tiner ile yaparsın yapacağın şey belli program ilk açılınca veritabanından günü çek ondan sonra timerın içine if koy if şu anki saat büyük gün ise mesaj kutusu hatta bence veritabanından günü çek bir hafta eksilt onu kontrol et ki bir hafta öncesinden haberin olsun

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yardımjn için çok teşekkürler ederim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Timer yaptığımda böyle bir hata alıyorum bir türlü geçemedim sizce nedendir?

     C# Uyarı Mesajı
  • Ne yaptıysam olmadı. Kafam durdu saçma sapan kodlar yazmaya başladım. İçinden çıkılmaz bir hal aldı.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • at projeyi bana hafta sonu bakarım
  • Projeyi özelden yolladım. Gerçekten çok teşekkür ederim kafada 3 tane saç var ondanda olacaktım neredeyse.
  • Gönderdim

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Hocam çok teşekkürler beni büyük bir dertten kurtardın.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.