AccessTr.neT

Tam Versiyon: C# Global Değişken Ayarlarma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Herkese merhaba;

Biraz zor bir karar vererek C# öğrenmeye ve bu yazılım diliyle kendimi geliştirme kararı aldım.
Sayın @alpeki99 hocam bana vb.net ile yapmış olduğum ilk programımda C# a geçmemi söylemişti ancak ozamanlar vb.neti bile yeni öğrendiğim için C# çok karışık gelmişti (aslında hala biraz karışık geliyor ama öğrenecem niyetliyim  Img-grin )

internette ve form sitelerinde çok aramama rağmen bir türlü global alanda yapılan değişkenlerde form üzerindeki bir alandan veriyi aldırma işlemini çözemedim.
Örnek olarak verecek olursak
VB.NET Kodu;
'Vb.Net ile form üzerinden veri çekme kodu bu şekilde çalışıyor.Global değişken olarak atandığında da sıkıntı olmadan çalışıyor.
Dim baglanti As New OleDbConnetion(Provider=Microsoft.JET.OLEDB.4.0; Data Source='" & veritabani.Text & "'")

C# Kodu;
'Uzun bir uğraş sonunda bulduğum
OleDbConnetion baglanti = new OleDbConnetion("Provider = Microsoft.JET.OLEDB.4.0; Data Source='" + veritabani.Text + "'")
Yukarıda vermiş olduğum kod örneğini bir butonun click olayının altına eklersem "veritabanı isimli TextBox alanı" form üzerinden veriyi aldıra biliyorum. Ancak Global Değişken belirleyim bir den fazla "void" altında kullanmak istediğimde resimdeki gibi bir hata veriyor.

[Resim: do.php?imgf=148010084808971.png]
Buradaki "veritabani.Text" alanını da bir değişkene mi atamak gerekiyor. veya global değişkende yazım farklılığımı oluyor. İnternette de hiç böyle bir örnek veya buna benzer bir kod bulamadım.
yardımcı olanlara şimdiden teşekkürler.
Saygılarımla,
iyi çalışmalar.


*Not: "using System.Data.OleDb" kütüphanesi de başvurularda ekli
PUBLIC olarak deneyiniz...
Proje dosyasında ilgili yerlerdeki metodları eklerseniz hemen sorunuzu cevaplayayım.
Sayın @alpeki99 hocam;

VB.NET te verilerin okunması,kaydetme,güncelleme,silme işlemleri için her seferinde yeniden "Connetion" tanımlamamak için global değişken olarak kod satırlarının arasına aşağıdaki gibi bir kod tanımlaması yapabiliyordum.
Dim baglanti As New OleDbConnetion(Provider=Microsoft.JET.OLEDB.4.0; Data Source='" & veritabani.Text & "'")

Aynı işlemi C# içinde yapmak istediğimde ilk cevabımda belirtmiş olduğum gibi hata veriyor. Bağlantı cümlesini tam olarak yazarsam örn;
OleDbConnetion baglanti = new OleDbConnetin("Provider=Microsoft.JET.OLEDB.4.0; Data Soruce='veritabani.mdb'")
bu şekilde global değişken belirlediğimde bir hata vermiyor ve istediğim şekilde kullana biliyorum.

Anlattığım durumu içeren örnek çalışma ektedir.

[attachment=25891]
ben böyle bir kod buldum kendine göre uyarla


Alıntı:namespace SiparisTakipFormu.Properties {
    
    
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
        
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
        
        public static Settings Default {
            get {
                return defaultInstance;
            }
        }
        
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
        [global::System.Configuration.DefaultSettingValueAttribute("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\vt1.mdb")]
        public string ConnectionString {
            get {
                return ((string)(this["ConnectionString"]));
            }
        }
    }
}
Bu tip işlemleri Class'lar üzerinden gerçekleştirmeniz daha doğru olacaktır. Ekteki örneği inceleyin daha iyi anlaşılacaktır.
Sayfalar: 1 2 3