Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
993
Tıklama
0
Öne Çıkarma
C# Uyarı Mesajı
A
8 yıl
Onbaşı
Konu Sahibi

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.



G
8 yıl
Yarbay

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)



A
8 yıl
Onbaşı
Konu Sahibi

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ı >

G
8 yıl
Yarbay

O zaman timer kullanarak yapacaksın



< Bu ileti mobil sürüm kullanılarak atıldı >

A
8 yıl
Onbaşı
Konu Sahibi

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ı >

G
8 yıl
Yarbay

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ı >

A
8 yıl
Onbaşı
Konu Sahibi

Yardımjn için çok teşekkürler ederim.



< Bu ileti mobil sürüm kullanılarak atıldı >

A
8 yıl
Onbaşı
Konu Sahibi

Timer yaptığımda böyle bir hata alıyorum bir türlü geçemedim sizce nedendir?

< Resime gitmek için tıklayın >



G
8 yıl
Yarbay

A
8 yıl
Onbaşı
Konu Sahibi

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ı >

G
8 yıl
Yarbay

at projeyi bana hafta sonu bakarım



A
8 yıl
Onbaşı
Konu Sahibi

Projeyi özelden yolladım. Gerçekten çok teşekkür ederim kafada 3 tane saç var ondanda olacaktım neredeyse.



G
8 yıl
Yarbay

Gönderdim



< Bu ileti mobil sürüm kullanılarak atıldı >

A
8 yıl
Onbaşı
Konu Sahibi

Hocam çok teşekkürler beni büyük bir dertten kurtardın.



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.