C# ile Access veritabanı kullanarak otomasyon yapmak

Katılım
12 Haziran 2017
Mesajlar
234
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar C# ile Access veritabanı kullanarak restoran otomasyonu yapacağım proje ödevi aldım. 1.5 gün araştırdım çizdim veritabanında ihtiyacım olanları doldurdum sistemi kurdum. Fakat Visual Studio'da C# form uygulaması kullanırken yapmak istediklerimi yapamıyorum. "Datagridview"'den seçtiğim kolonun sadece benim izin verdiğim kadarını başka tabloya aktarmak. Şayet o tabloyu da aynı formda gösterip o kısımı alışveriş kısmı olarak kullanmak istiyorum. "Datagridview" ilişkilendirmesi, Visual Studio üzerinde kullandığım "texbox"a yazdığım sayının veritabanındaki herhangi bir veri ile çarpma ve "datagridview" de seçtiğim bir sütunun veritabanındaki herhangi bir veriyi "texbox"daki sayı ile çarpma vb. işlemler yapılıp başka tabloya eklenmesi veya kayıt alınması. Ayrıca veritabanı üzerinde değişiklik yapıyorum fakat bu yaptığım değişiklik form uygulamasını kapattığım anda sıfırlanıyor ve veritabanı bilgilerim eski haline dönüyor. Bu kadar uzun anlatmamın sebebi iyi anlaşılmasıdır. Genel olarak veritabanındaki bilgilerle form araçlarını kullanarak matematiksel hesaplama yapamıyorum. Örnek olarak:
"Select * from tablo where sutun="asdas"=@s";
Parameters. Add("@s", texbox. Text); gibi bu "textbox"u buraya eklerken "textbox"a girilen sayının bir işlevinin olması. Benim seçeceğim veri ile çarpılmasıdır. Ayrıca butonlara tıkladığımda "datagridview"den göreceğim şeylerin kısıtlanması. Yani o butonun içine veritabanı şart komutu girilmesi gibi şeyleri yapamadım.
Yardımcı olursanız çok sevinirim.
 
Son düzenleyen: Moderatör:
Arkadaşlar C# ile Access veritabanı kullanarak restoran otomasyonu yapacağım proje ödevi aldım. 1.5 gün araştırdım çizdim veritabanında ihtiyacım olanları doldurdum sistemi kurdum. Fakat Visual Studio'da C# form uygulaması kullanırken yapmak istediklerimi yapamıyorum. "Datagridview"'den seçtiğim kolonun sadece benim izin verdiğim kadarını başka tabloya aktarmak. Şayet o tabloyu da aynı formda gösterip o kısımı alışveriş kısmı olarak kullanmak istiyorum. "Datagridview" ilişkilendirmesi, Visual Studio üzerinde kullandığım "texbox"a yazdığım sayının veritabanındaki herhangi bir veri ile çarpma ve "datagridview" de seçtiğim bir sütunun veritabanındaki herhangi bir veriyi "texbox"daki sayı ile çarpma vb. işlemler yapılıp başka tabloya eklenmesi veya kayıt alınması. Ayrıca veritabanı üzerinde değişiklik yapıyorum fakat bu yaptığım değişiklik form uygulamasını kapattığım anda sıfırlanıyor ve veritabanı bilgilerim eski haline dönüyor. Bu kadar uzun anlatmamın sebebi iyi anlaşılmasıdır. Genel olarak veritabanındaki bilgilerle form araçlarını kullanarak matematiksel hesaplama yapamıyorum. Örnek olarak:
"Select * from tablo where sutun="asdas"=@s";
Parameters. Add("@s", texbox. Text); gibi bu "textbox"u buraya eklerken "textbox"a girilen sayının bir işlevinin olması. Benim seçeceğim veri ile çarpılmasıdır. Ayrıca butonlara tıkladığımda "datagridview"den göreceğim şeylerin kısıtlanması. Yani o butonun içine veritabanı şart komutu girilmesi gibi şeyleri yapamadım.
Yardımcı olursanız çok sevinirim.

Butonlara tıkladığımda derken nasıl yani bir combobox falan mı kullanıcaksınız?
Ve bir ıoc container kullanıyor musunuz? Kullanıyorsanız ismini söyleyiniz lütfen.
 
Kullanmıyorum. C# 'da biraz acemiyim. Kullandığım kod satırlarının bir kısmı;
//datagridview 'de goster() komutu:
void goster()
{
baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Restoran1.mdb");
baglanti.Open();
da = new OleDbDataAdapter("Select *From Urunler", baglanti);
DataTable tablo = new DataTable();
da.Fill(tablo);
StokdataGridView1.DataSource = tablo;
baglanti.Close();
}
Aşağıdaki ise toplama işlemini yaptırmak istediğim komut.
private void button1_Click_1(object sender, EventArgs e)
{
string sorgu = "select Stok, (Stok + @StokArti) from Urunler Where UrunAdi=@urun";
komut = new OleDbCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@StokArti", Convert.ToInt32(textBox1.Text));
komut.Parameters.AddWithValue("@urun", comboBox1.SelectedItem);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();
goster();
}
Burda olmayan bir komut dizisinde combobox'a urunler kolonunu atadım. comboboxtan seçeceğim ürünün @StokArti kısmı olarak yazdığım textbox'a hangi sayıyı girersem seçilen ürünün stok adedinin o kadar artmasını amaçladım. Bu komutta düzensizlik yok ve hata almıyorum. Fakat veritabanı üzerinde herhangi bir değişiklik olmuyor.
string sorgu = "select Stok, (Stok + @StokArti) from Urunler Where UrunAdi=@urun";
Hatta şu kısmı
string sorgu = "Update Urunler Set Stok=@Stok Where UrunAdi=@urun ";
bu şekilde yazmazsam datagridview 'de bir değişiklik yapıldığını da göremiyorum.
 
Son düzenleme:
Arkadaşlar C# ile Access veri tabanı kullanarak restoran otomasyonu yapacağım proje ödevi aldım. 1.5 gün araştırdım çizdim veritabanında ihtiyacım olanları doldurdum sistemi kurdum. Fakat Visual Studio'da C# form uygulaması kullanırken yapmak istediklerimi yapamıyorum. "datagridview"'den seçtiğim kolonun sadece benim izin verdiğim kadarını başka tabloya aktarmak. Şayet o tabloyu da aynı formda gösterip o kısımı alışveriş kısmı olarak kullanmak istiyorum. "datagridview" ilişkilendirmesi, Visual Studio üzerinde kullandığım "texbox"a yazdığım sayının veritabanındaki herhangi bir veri ile çarpma ve "datagridview" de seçtiğim bir sütunun veritabanındaki herhangi bir veriyi "texbox"daki sayı ile çarpma vb. işlemler yapılıp başka tabloya eklenmesi veya kayıt alınması. Ayrıca veri tabanı üzerinde değişiklik yapıyorum fakat bu yaptığım değişiklik form uygulamasını kapattığım anda sıfırlanıyor ve veri tabanı bilgilerim eski haline dönüyor. Bu kadar uzun anlatmamın sebebi iyi anlaşılmasıdır. Genel olarak veritabanındaki bilgilerle form araçlarını kullanarak matematiksel hesaplama yapamıyorum. Örnek olarak:
"Select * from tablo where sutun="asdas"=@s";
Parameters. Add("@s", texbox. Text); gibi bu "textbox"u buraya eklerken "textbox"a girilen sayının bir işlevinin olması. Benim seçeceğim veri ile çarpılmasıdır. Ayrıca butonlara tıkladığımda "datagridview"den göreceğim şeylerin kısıtlanması. Yani o butonun içine veri tabanı şart komutu girilmesi gibi şeyleri yapamadım.
Yardımcı olursanız çok sevinirim.

Yaptıgınız uygulamayı paylaşmanız mümkün mü?
 
Depoda malzeme aramak için yaptığım ufak çaplı uygulamada datagridview için kullandığım kodlar.

Kod:
 OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Veri.accdb");
 DataTable dt = new DataTable();
 OleDbDataAdapter da = new OleDbDataAdapter("select * from Metaller Where Metal_No Like '%" + textBox1.Text + "%'", bag);
 OleDbDataAdapter da2 = new OleDbDataAdapter("select * from Metaller Where Metal_Adi Like '%" + textBox2.Text + "%'", bag);

 if (textBox2.TextLength == 0)
 {
 da.Fill(dt);
 dataGridView1.DataSource = dt;
 }
 else if (textBox1.TextLength == 0)
 {
 da2.Fill(dt);
 dataGridView1.DataSource = dt;
 }
 

Yeni konular

Geri
Yukarı