Skip to main content

AccessTr.neT


C# Global Değişken Ayarlarma

C# Global Değişken Ayarlarma

#7
Sayın alpeki99 hocam;

Cevabınız için teşekkür ederim.

class kullanımını anladım. Ancak form üzerindeki txtbox1 alanından veritabanı yolunu aldırma işlemini bir türlü beceremedim.
Class içinde "Data Source" olarak "txtbox1.Text" gösteriyorum. Uygulamayı çalıştırıp veritabanına bağlanmak istediğimde aşağıdaki gibi bir hata veriyor.
[Resim: do.php?imgf=148025301076551.png]

Bu işlemi nasıl yapabilirim hocam Neyapsam
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#8
Class içinden Form üzerindeki değeri aldırmayacaksınız zaten. Class içindeki baglan metoduna parametre olarak textbox değerini göndereceksiniz. Denemek için bu işi yapıyorsanız sorun değil ancak eğer çalışma aşaması için düşünüyorsanız program her açıldığında veritabanı dosyasının yolunu göstermeniz gerekir.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#9
Sayın apleki99 hocam;

Yapmak istediğim işlem, program açılışta "ortak.mdb" isimli veritabanından ana Access dosyasının yolunu okutup ana formda ki 'txtVeritabani' alanına yazdırmak. Daha sonra program Ekleme,Görüntüleme,Değiştirme,Silme gibi işlemler yapmak istediğinde (x formda) ana formdaki 'txtVeritabani' alanından veritabanının tam yolunu alarak işlem yaptırmak.
Bahsettiğim işlemin bağlantı cümlesini x bir işlemin olayına yazarsam örn; Formun Loadına, Butonun Click olayına vs. tam olarak istediğim gibi çalışıyor. Ancak global değişken olarak yazdığımda hata veriyor veya sizin eklemiş olduğunuz class içerisinde yazmak istediğimde hata veriyor ve işlem yapmıyor.

Bu işlemi yapmak istememdeki amaç, vb.net ile yazmış olduğum ve şirkette 5 kullanıcının çalıştığı programı c# ile tekrar yazıyorum ve her terminal tek bir veritabanına bağlanacağı için connection cümlesini 'txtVeritabani' alnından alacak şekilde yazmam gerekiyor.

Teşekkürler,
Saygılar.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#10
Açıkçası durumu çok anladığımı söyleyemem. Aklıma takılanlar şunlar:

1. Ortak.mdb tüm verilerin olduğu dosyanız mı?
2. 5 kullanıcı aynı dosyaya bağlanıp işlem yapmıyor mu? Yoksa her kullanıcı ayrı ayrı dosyalara bağlanıp işlem mi yapıyor?
3. Neden benim kullandığım Bağlantı metodunu kullanmıyorsunuz? Sonuçta nerede olursanız olun veritabanı bağlantısı yapacaksınız. Bunun yerine sadece Db.baglan(); yazmanız yeterli.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#11
Sayın alpeki99 hocam;

Şöyleki, herkesin bağlandığı veriler.mdb adında bir veritabanı var. BU veritabanı ağda x bir konumda, bu veritabanının dosya yolunu her kullanıcının bilgisayarında bulunan ortak.mdb veritabanına kaydediyorum. Böylelikle programın her açılışında bu ortak veritabanından dosya yolunu okuyup veritabanı işlemlerini bu dosya yoluna göre yapıyorum. Bu bahsettiğim işlemi vb.net ile yapmış olduğum programda sıkıntısız kullana biliyorum. Ancak bir türlü C#ta uygulayamadım aynı işlemi.

Sorularınızın cevabı;
1 > ortak.mdb dosyası sadece kullanıcının uygulama ile ilgili ayarlarını ve ana veritabanının 'veriler.mdb' dosya yolunu tuttuğum her kullanıcıda olan bir veri tabanı dosyası
2 > 5 Kullanıcıda aynı veritabanı dosyasına bağlanarak işlem yapıyor evet
3 > sizin vermiş olduğunuz bağlantı metodunu kullanmak istiyorum ancak sizin örnek olarak vermiş olduğunuz bağlantı metodunda veritabanının program ile aynı dize de olması gerekiyor. Ancak benim yukarıda bahsetmiş olduğum ve yapmaya çalıştığım işlem de veritabanı yolu 1 tane ve tüm kullanıcılar bu veritabanına bağlanacağı için veriyolunu form üzerinde bulunan bir txtbox tan almam gerekiyor.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#12
(28/11/2016, 22:40)emir ustaoğlu yazdı: Sayın alpeki99 hocam;

Şöyleki, herkesin bağlandığı veriler.mdb adında bir veritabanı var. BU veritabanı ağda x bir konumda, bu veritabanının dosya yolunu her kullanıcının bilgisayarında bulunan ortak.mdb veritabanına kaydediyorum. Böylelikle programın her açılışında bu ortak veritabanından dosya yolunu okuyup veritabanı işlemlerini bu dosya yoluna göre yapıyorum. Bu bahsettiğim işlemi vb.net ile yapmış olduğum programda sıkıntısız kullana biliyorum. Ancak bir türlü C#ta uygulayamadım aynı işlemi.

Sorularınızın cevabı;
1 > ortak.mdb dosyası sadece kullanıcının uygulama ile ilgili ayarlarını ve ana veritabanının 'veriler.mdb' dosya yolunu tuttuğum her kullanıcıda olan bir veri tabanı dosyası
2 > 5 Kullanıcıda aynı veritabanı dosyasına bağlanarak işlem yapıyor evet
3 > sizin vermiş olduğunuz bağlantı metodunu kullanmak istiyorum ancak sizin örnek olarak vermiş olduğunuz bağlantı metodunda veritabanının program ile aynı dize de olması gerekiyor. Ancak benim yukarıda bahsetmiş olduğum ve yapmaya çalıştığım işlem de veritabanı yolu 1 tane ve tüm kullanıcılar bu veritabanına bağlanacağı için veriyolunu form üzerinde bulunan bir txtbox tan almam gerekiyor.

Ortak.mdb dosyasına gerek yok.  Sonuçta x konumundaki dosyanın yolunu ortak.mdb içine yazmaya gerek yok. Benim verdiğim örnekte yer alan  |DataDirectory| yerine ağdaki konumu yazmanız yeterli olacaktır:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\server\share\folder\myAccessFile.accdb;

şeklinde Connection String'i değiştirebilirsiniz. Ayrıca tüm bağlantı cümleleri için:

Kod:
connectionstrings.com

adresini kullanabilirsiniz.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task