none
SQLite veri tabanı bağlantı hatası RRS feed

  • Genel Tartışma

  • merhabalar
    SQLite veri tabanı için bağlantı cümlesini şu şekilde yapıyorum ve şu hatayı alıyorum. Yol belirtmeden yapınca tablo bulunamadı hatası veriyor. Düzgün bir tanımlama nasıl yapılmalı?
    teşekkürler. 
    Kodlar:
                string yol = Application.StartupPath+"\\veriler_sqlite.db";
                            SQLiteConnection baglanti = new SQLiteConnection("Data Source=@"+yol );
                baglanti.Open();

    Hta:
    System.NotSupportedException: 'Verilen yolun biçimi desteklenmiyor.'
    16 Kasım 2020 Pazartesi 10:20

Tüm Yanıtlar

  • string _path = Path.Combine(Application.StartupPath,"veriler_sqlite.s3db")
    
    SQLiteConnection connection = new SQLiteConnection($"DataSource={_path}; Version =3");
    Bu şekilde dener misiniz 

    Altan Özdemir

    16 Kasım 2020 Pazartesi 12:36
  • Oradaki @ işaretinin amaci nedir?

    string yol = Path.Combine(Application.StartupPath, "veriler_sqlite.db");
    using (SQLiteConnection baglanti = new SQLiteConnection("Data Source="+yol))
    {
          baglanti.Open();
    // ...
    }

    Not: Aplication .StartupPath bir veritabanı dosyası icin seçilmemesi gereken bir yer. Onun yerine appdata kullanmanızda fayda var. Bunun icin asagidakilerden birisini secebilirsiniz:

    	Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
    	Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    	Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
    

    Ornek:

    var sqliteBase = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "SQLiteData");
    if (!Directory.Exists(sqliteBase))
    {
    	Directory.CreateDirectory(sqliteBase);
    }
    string yol = Path.Combine(sqliteBase, "veriler_sqlite.db");
    
    using (SQLiteConnection baglanti = new SQLiteConnection($"Data Source={yol}"))
    {
    	baglanti.Open();
    	// ...
    }
    



    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.

    16 Kasım 2020 Pazartesi 12:50
    Yanıtlayıcı