C# şifremi unuttum kısmı nasıl yapılır?

using den önce baglanti.Open(); yazıp deneyin.
1653753162632.png

1653754422661.png

Hocam birde burada başlangıç tarihi ve bitiş tarihini seçtiğim zaman o aralıktaki satışlar gözüküyor. İstediğim belirttiğim tarih aralığında yapılan satışların tutarını toplayıp TextBoxa yazdırmak. Yardımcı olabilir misiniz? O sayfaya ait kodlama;
OleDbConnection baglanti;

OleDbDataAdapter da;


void kisilistele()
{
baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Veritabani/kafe.mdb");
baglanti.Open();
da = new OleDbDataAdapter("SELECT * FROM Satislar", baglanti);
DataTable tablo = new DataTable();
da.Fill(tablo);
gridSatislar.DataSource = tablo;
baglanti.Close();
}

private void groupBox2_Enter(object sender, EventArgs e)
{
//kisilistele();
}

private void frmSatislar_Load(object sender, EventArgs e)
{
kisilistele();
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy/MM/dd HH:mm";

dateTimePicker2.Format = DateTimePickerFormat.Custom;
dateTimePicker2.CustomFormat = "yyyy/MM/dd HH:mm";

dateTimePicker1.Value = DateTime.Now.AddDays(-7);
dateTimePicker2.Value = DateTime.Now;

dateTimePicker1_ValueChanged(null, null);
}

private void txtMasaNo_TextChanged(object sender, EventArgs e)
{
dateTimePicker1_ValueChanged(null, null);
}



private void txtMasaNo_KeyPress(object sender, KeyPressEventArgs e)
{
kontroller.txtSayiKontrol(e);
}
private void gridSatislar_CellClick(object sender, DataGridViewCellEventArgs e)
{
gridSatisDetayUrun.DataSource = Veritabani.VeriGetir(" Select * from SatisDetayUrun where SiparisNo = " + gridSatislar.SelectedRows[0].Cells[5].Value + "");





}

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
if (txtMasaNo.Text == "")
{
DataTable dt = Veritabani.VeriGetir("select * from Satislar where Tarih >= #" + dateTimePicker1.Text + "# and Tarih <= #" + dateTimePicker2.Text + "# ");
gridSatislar.DataSource = dt;
}
else
{
DataTable dt = Veritabani.VeriGetir("select * from Satislar where [Masa Numarası] = " + txtMasaNo.Text + " and Tarih >= #" + dateTimePicker1.Text + "# and Tarih <= #" + dateTimePicker2.Text + "# ");
gridSatislar.DataSource = dt;
}
}

private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
{
dateTimePicker1_ValueChanged(null, null);
}
 
Son düzenleme:
if (txtMasaNo.Text == "")
{
DataTable dt = Veritabani.VeriGetir("select * from Satislar where Tarih >= #" + dateTimePicker1.Text + "# and Tarih <= #" + dateTimePicker2.Text + "# ");
gridSatislar.DataSource = dt;

bu kısmın altına şunu ekleyip deneyin.

double toplam = 0;
foreach (DataGridViewRow row in gridSatislar.Rows)
{

var tutar = double.Parse(row.Cells[3].Value.ToString());

toplam += tutar;
}
textboxKazanc.Text = toplam.ToString();



row.cell[3] tutar kısmını belirtiyor hata verebilir yine de bir deneyin.
 
bu kısmın altına şunu ekleyip deneyin.





row.cell[3] tutar kısmını belirtiyor hata verebilir yine de bir deneyin.
Hocam kodlama doğru sadece if-else yapının dışında çalıştı teşekkürler.
Hocam kodlama doğru sadece if-else yapının dışında çalıştı teşekkürler.
Hocam bu sayfa ilk açılış ekranı bu sayfada admin bilgilerini girdirip veritabanına kaydettiriyorum daha sonra ana program ekranını açtırıyorum. Bu ekranın sadece programı setup ile kurduktan sonra sadece bir kere yazılımın ilk açılışında gelmesini istiyorum. Yani kurulumdan sonra admin kendine kullanıcı adı vs. belirleyecek. Bunu nasıl yaparım?
1653757816839.png
 
Son düzenleme:
frmilkgiris kod kısmına vertabanın da aşağıdaki yerde "InitializeComponent();" herhangi bir kullanıcı var mı kontrolu yap yani dönen kayıt sayısı 0 değil ise formu gizle veya kapat.

public frmilkgiris()
{
//burada dene
InitializeComponent();
//burada dene

}


Program.cs de ilk açılış ekranı bu mu, bu ise this.Hide() kullan
Program.cs de ilk açılış ekranı ana pencerense ve sonra bu açılıyorsa this.Close(); olarak kapat.
 
frmilkgiris kod kısmına vertabanın da aşağıdaki yerde "InitializeComponent();" herhangi bir kullanıcı var mı kontrolu yap yani dönen kayıt sayısı 0 değil ise formu gizle veya kapat.

public frmilkgiris()
{
//burada dene
InitializeComponent();
//burada dene

}


Program.cs de ilk açılış ekranı bu mu, bu ise this.Hide() kullan
Program.cs de ilk açılış ekranı ana pencerense ve sonra bu açılıyorsa this.Close(); olarak kapat.
Hocam dediğiniz şekilde uğraştım fakat yapamadım maalesef.
 
Önceki sayfadaki sorgu gibi select sorgusu denedin olmadı mı ?

Örnek, veritabanın da kayıt varsa admin kayıt penceresini gizlesin;

OleDbConnection Veritani_Baglantisi = "xxxxx";
OleDbCommand cmd = new OleDbCommand("select * from Admin", Veritani_Baglantisi);

baglanti.Open();
using (OleDbDataReader varMi = cmd.ExecuteReader())
{

if (varMi.HasRows)
{
this.Hide();
}

}
baglanti.Close();
 
Yöntem değiştir, kurulduktan sonra ana ekranın açılsın ana ekranın Form_Load kısmında ilk alana yaz kodlarını böylesi daha iyi.

ShowDialog(); kullan.



Şöyle;
private void anapencere_Load(object sender, EventArgs e)
{
OleDbConnection Veritani_Baglantisi = "xxxxx";
OleDbCommand cmd = new OleDbCommand("select * from Admin", Veritani_Baglantisi);

baglanti.Open();
using (OleDbDataReader varMi = cmd.ExecuteReader())
{

if (!varMi.HasRows)
{
frmilkGiris ac = new frmilkGiris();
ac.ShowDialog();
}

}
baglanti.Close();
}
 
Yöntem değiştir, kurulduktan sonra ana ekranın açılsın ana ekranın Form_Load kısmında ilk alana yaz kodlarını böylesi daha iyi.

ShowDialog(); kullan.



Şöyle;
Hocam maalesef yapamadım. Projeyi size mail üzerinden göndersem bakma şansınız var mı?
 

Geri
Yukarı