lostyazilim
tr.link

Access veritabanı ile yeni form'da işlem yaparken ekleme silme düzenleme vs. işlemleri

6 Mesajlar 1.312 Okunma
lstbozum
tr.link

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
Edit : Başlık için kusura bakmayın, yazamadan konuyu açmış bulundum şimdi de düzenleme yapamıyorum.

Selamlar, bu aralar c# 'a sardım. Bayağı zevkli geldi fakat bir problemle karşılaştım. Access veritabanı ile yeni form'da işlem yaparken ekleme silme düzenleme vs. işlemlerinde sorun yaşıyorum. Direk anaformda(form1) çalışırken bağlantı fonksiyonunu kullanabiliyorum fakat anaformda yazdığım bağlantı fonksiyonunu oluşturduğum form2 de kullanamıyorum.

Yani form1 de aşağıdaki şekilde tanımladığım bağlantı fonksiyonunu form2de nasıl kullanabilirim ? Direkt baglan(); şeklinde çağırınca tanımlanmamış hatası alıyorum.

void baglan(xxx){
xxxxx;
xxx;
}
 

 

wmaraci
reklam

erbasaran erbasaran Yazılım Mühendisi Kullanıcı
  • Üyelik 01.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad R** E**
  • Mesajlar 309
  • Beğeniler 2 / 77
  • Ticaret 70, (%100)
Form1 de bu fonksiyon çalışır çünkü bu fonksiyonu form1 e yazmışsın. Bunu şöyle yapmalıydın. Bir tane class oluştur ve bağlantı fonksiyonunu ona yaz. Sonra istediğin yerde bağlantı nesnesini oluşturup fonksiyonu çalıştırabilirsin.

Örnek olarak class ın adını "baglanti" yapmışsan => baglanti b = new baglanti(); şeklinde istediğin formda tanımlamayı yaptıktan sonra b.baglan(); şeklinde fonksiyonu çağırman yeterli olacaktır.
Digitart

kişi bu mesajı beğendi.

imza yok...

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)

erbasaran adlı üyeden alıntı

Form1 de bu fonksiyon çalışır çünkü bu fonksiyonu form1 e yazmışsın. Bunu şöyle yapmalıydın. Bir tane class oluştur ve bağlantı fonksiyonunu ona yaz. Sonra istediğin yerde bağlantı nesnesini oluşturup fonksiyonu çalıştırabilirsin.

Örnek olarak class ın adını "baglanti" yapmışsan => baglanti b = new baglanti(); şeklinde istediğin formda tanımlamayı yaptıktan sonra b.baglan(); şeklinde fonksiyonu çağırman yeterli olacaktır.


Dediğiniz gibi class olarak tanımlandım bağlantımı.

public void baglan()
{
OleDbConnection baglanti_yolu;
try
{
baglanti_yolu = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\ogrenciler.mdb");
baglanti_yolu.Open();
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}



Daha sonra form 2 de,


baglan b = new baglan();
b.baglan();


şeklinde bağlantıyı sağlamaya çalıştım fakat aşağıdaki gibi bir hata alıyorum.


Error 1 The type or namespace name 'baglan' could not be found (are you missing a using directive or an assembly reference?) C:\Users\ozgur\documents\visual studio 2010\Projects\WindowsFormsApplication_2\WindowsFormsApplication_2\Form2.cs 32 13 WindowsFormsApplication_2

 

 

erbasaran erbasaran Yazılım Mühendisi Kullanıcı
  • Üyelik 01.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad R** E**
  • Mesajlar 309
  • Beğeniler 2 / 77
  • Ticaret 70, (%100)
Class ın adını "baglan" mı yaptınız? Aksi takdirde hata verecektir tabii. Class adı baglan.cs olmalı.
 

 

imza yok...
wmaraci
wmaraci

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)
Merhaba Referee, void ile yazdığın şey class değil metottur, metodu da bir class içinde yazmadığın için olmayan sınıfa ait namespace'i bulamıyor ve hata veriyor.
 

 

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
Evet şimdi çözdüm olayı teşekkür ediyorum her ikinizede, çok teşekkürler.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al