none
Select Database RRS feed

  • Soru

  • Herkese Merhaba Database aralarında geçiş yapmak istiyorum yardımcı olurmusunuz örnek

    Ocak

    Şubat

    Mart

    Nisan

    Databaselerim var ComboBox.text  ile okutmak istiyorum Nasıl yapabilirim Şimdiden sağolun

    16 Eylül 2018 Pazar 05:44

Tüm Yanıtlar

  • Bir sınıf oluştur , o sınıf içerisinde veritabanına bağlantı kodlarını yaz.Sınıfta bir metoda yada constructor a  veritabanının adını parametre olarak ver.örneğin bu parametre olarak gelen string ile bir connection string oluştur.

    Ancak merak ediyorum birden fazla veritabanına niye ihtiyaç duyuyorsun ? gerekli mi gerçekten?

    Yani devasa bir proje değilse gerek yok birden fazla veritabanına.En azından benim görüşüm böyle. 

    16 Eylül 2018 Pazar 15:21
  • Bunu yaptım ben combobox ile..  Fakat combobox şifreli kurulmuş bir SQLSERver'dan veriyi çekmez.. Yani bir şekilde Veritabanının ya adını bileceksin yada bir standarta oturtacaksın..
    Örneğin : 

    VT Adı : DATAM_Ocak

    DATAM_Subat

    DATAM_Mart

    ..... 

    şeklinde olursa.. 
    Combobox'ın içine Sadece ayları yazarak ve bu veriyi parametre olarak kullanırsan SQLServer'a bağlanmak mümkün.. 

    Aynı şekilde ben VT seçtiriyorum.. Ama bir önceki VT ile bir sonraki VT birebir aynı tablo ve view ile SP'lere sahip olmalı.. Yoksa bir şekilde hata verir..
    Geçen senenin VT'si ile bu senenin VT'sinde en ufak bir fark olmamalı.. (İçindeki kayıtlı bilgiler hariç)

    18 Kasım 2019 Pazartesi 14:08
  • Bunu yaptım ben combobox ile..  Fakat combobox şifreli kurulmuş bir SQLSERver'dan veriyi çekmez.. Yani bir şekilde Veritabanının ya adını bileceksin yada bir standarta oturtacaksın..
    Örneğin : 

    VT Adı : DATAM_Ocak

    DATAM_Subat

    DATAM_Mart

    ..... 

    şeklinde olursa.. 
    Combobox'ın içine Sadece ayları yazarak ve bu veriyi parametre olarak kullanırsan SQLServer'a bağlanmak mümkün.. 

    Aynı şekilde ben VT seçtiriyorum.. Ama bir önceki VT ile bir sonraki VT birebir aynı tablo ve view ile SP'lere sahip olmalı.. Yoksa bir şekilde hata verir..
    Geçen senenin VT'si ile bu senenin VT'sinde en ufak bir fark olmamalı.. (İçindeki kayıtlı bilgiler hariç)

    Bir yildan uzun sure once acilmiş ve cevaplanmış bir konuya boyle bir ek yaptiginiza gore biraz gerceklik payı olmalı.  Soylediklerinizi okuyorum da, hiç de öyle degil. Biraz aydinlatabilir misiniz bizi, neden "birebir ayni tablo ve view, SP'lere sahip olmalı.. Yoksa bir sekilde hata verir". Ne hatası verir? "En ufak fark olmamalı" demissiniz, neden?

    Ben farklı isim ve yapılarla kullaniyorum, ama hata almıyorum. Yani neden boyle yanlış bir cevabi, hem de aradan bir yildan fazla zaman geçtikten sonra, ekleme gereğini duydunuz ki?



    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.

    18 Kasım 2019 Pazartesi 15:25
    Yanıtlayıcı
  • VT tüm tablolar ve SP ile View 'ler aynı olmaz ise program her tabloyu her sorguyu ve her SP'yi yine çalıştığı son VT'ye göre isteyecektir. Aksi halde şu kolon eksik, bu sorgu eksik gibi hatalar verecektir. 
    Ayrıca şu an yazdığım programda (ki VB6 versiyonunda hiç bir sorun yoktu. Mecburen .net'e çevirmek zorundayım) Aynı isim "DATAM_2018" "DATAM_2019" gibi vt kullanıyorum. İsimlerini bildiğim için combobox'ın içinden sadece yılı çekip DATAM_ kelimesi ile birleştirip vt'ye bağlanıyorum. 
    Aynı tablo olmaz ise ne olur?
    Örneğin siz son güncel VT'ye aktif_flag varchar(1) gibi bir kolon eklediniz ve bu kolon eski login olacağınız VT'de yok. Arama yaparken bir şekilde aktif_flag kolonu da lazım oldu ve yeni VT'ye eklediniz. Haliyle SQL içinde "..... and aktif_flag is not null" yada "..... aktif_flag ='A'" gibi bir eklenti yaptığınızda program hata verecektir. Böyle bir kolon yoktur diye.. Bu örnek ile umarım derdimi anlatmışımdır. 
    Nihayetinde; Hastane Programı (yönetirken programcı mühendis arkadaştan öğrendiğim) tek bir exe ile daha önceki VT'lere bağlanırken önceki VT'lerin tamamına yeni VT'deki tüm tabloları, view'leri ve SP'leri hatta Trigger'leri, cursorları güncellemeden bağlanmıyordu. Tüm eklemeleri ve düzeltmeleri yapınca sorunsuz raporlama işlem ve diğer tüm sisteme dahil oluyordu. VT içinde bir tabloda eksik tek kolon bile hata verdiriyor.. 
    Çetin bey; Başlıkları gezerken bildiğimi zannettiğim ve uygulamasını yaptığım bir soruna çözüm olarak sunduğum bir yorumdu.. 
    Sizin dışınızda hiç yorum yapmamış ve hiç puanı olmayan yeni bir kullanıcıyı bu kadar aşağılamanızı da anlamış değilim.. Çünkü kullandığınız cümlelerde kırıcı yerler var.. 
    İyi günler dilerim.
    19 Kasım 2019 Salı 11:34
  • "VT tüm tablolar ve SP ile View 'ler aynı olmaz ise program her tabloyu her sorguyu ve her SP'yi yine çalıştığı son VT'ye göre isteyecektir. Aksi halde şu kolon eksik, bu sorgu eksik gibi hatalar verecektir."

    Yanlis bilgi. 

     
    "Ayrıca şu an yazdığım programda (ki VB6 versiyonunda hiç bir sorun yoktu. Mecburen .net'e çevirmek zorundayım) Aynı isim "DATAM_2018" "DATAM_2019" gibi vt kullanıyorum. İsimlerini bildiğim için combobox'ın içinden sadece yılı çekip DATAM_ kelimesi ile birleştirip vt'ye bağlanıyorum. 
    Aynı tablo olmaz ise ne olur?
    Örneğin siz son güncel VT'ye aktif_flag varchar(1) gibi bir kolon eklediniz ve bu kolon eski login olacağınız VT'de yok. Arama yaparken bir şekilde aktif_flag kolonu da lazım oldu ve yeni VT'ye eklediniz. Haliyle SQL içinde "..... and aktif_flag is not null" yada "..... aktif_flag ='A'" gibi bir eklenti yaptığınızda program hata verecektir. Böyle bir kolon yoktur diye.. Bu örnek ile umarım derdimi anlatmışımdır. "

    Bu tamamen yazilimci hatası. Eski login olacaginiz veritabanında da o alan gerekiyorsa eklersiniz. Yoksa sizin dediğinize gore veritabanları hiç gelişmez, ilk yaratildiklari gun ki gibi kalırdı.

    "Nihayetinde; Hastane Programı (yönetirken programcı mühendis arkadaştan öğrendiğim) tek bir exe ile daha önceki VT'lere bağlanırken önceki VT'lerin tamamına yeni VT'deki tüm tabloları, view'leri ve SP'leri hatta Trigger'leri, cursorları güncellemeden bağlanmıyordu. Tüm eklemeleri ve düzeltmeleri yapınca sorunsuz raporlama işlem ve diğer tüm sisteme dahil oluyordu. VT içinde bir tabloda eksik tek kolon bile hata verdiriyor.. "

    Bu tamamen yazılımla ilgili yine. Veritabanlarinin ayni olmaması halinde hata vermesiyle ilgisi yok. Tabii ki siz yaziliminizda X kolonunu istiyorsanız, o kolon olmalı. Yeni versiyonda artık kullanmadiginiz Y kolonu, eski veritabanında olup yeni veritabanında yoksa hiçbir sorun çıkmaz ornegin. Oysa ki artık tablolar farklı. 


    "Çetin bey; Başlıkları gezerken bildiğimi zannettiğim ve uygulamasını yaptığım bir soruna çözüm olarak sunduğum bir yorumdu.. 
    Sizin dışınızda hiç yorum yapmamış ve hiç puanı olmayan yeni bir kullanıcıyı bu kadar aşağılamanızı da anlamış değilim.. Çünkü kullandığınız cümlelerde kırıcı yerler var.. 
    İyi günler dilerim."

    Ne asagilamasi? Bir iddia da bulundun ve ben de yanlış oldugunu düşündüğümden açıklama istedim. Olduğu gibi bıraksak ve yeni gelen birisi, bunu dogru zannedip ciddiye alsa daha mi iyi olacakti? Yanlışların düzeltilmesini yanlış buluyorsanız o sizin bileceğiniz bir şey.

     



    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.

    19 Kasım 2019 Salı 13:56
    Yanıtlayıcı
  • "Yoksa sizin dediğinize gore veritabanları hiç gelişmez, ilk yaratildiklari gun ki gibi kalırdı."

    Bu cümlenizdeki ilk günkü gibi kalırdı cümlesi ile ilgili olarak "Ya ben yanlış anlattım ya da, ya da'sı yok boşverin. Çünkü eski veritabanında eksik olan yerleri yeni vt'deki gibi güncellediğiniz için ilk günkü gibi kalma ihtimalini ortadan kaldırıyoruz." Haliyle sizin söylediklerinizde de bilgi eksik kalıyor gibi..

    "Yeni versiyonda artık kullanmadiginiz Y kolonu, eski veritabanında olup yeni veritabanında yoksa hiçbir sorun çıkmaz ornegin. Oysa ki artık tablolar farklı. "Bu cümlenizde ki Y kolonu kullanılmıyor dediniz ya. Hocam iyide önceki versiyonda şart ise ve exe önceki sonraki diye ayırt edemeyeceği için (yada sırf bunun için ayrı sorgulama yazmanız gerekir) bence yine de önceki VT ile sonraki VT'yi aynı yapmakta hata görmüyorum. En azından işimi garantiye alıyorum. Exe hata vermemesi için.

    Ve son olarak; 

    Bir kaç gün önce açtığım şu konuda yardımınızı istesem ayıp etmiş olur muyum?

    https://social.msdn.microsoft.com/Forums/vstudio/tr-TR/bbc9684c-9979-4f89-a87e-86aca26668da/vbnet-ve-sql-server-2012-tek-formda-arama-sorunu-c-kullanmyorum-vb-kullanyorum?forum=vbnettr

    Ayrıca; Yazdıklarımı sakın sizinle tartışma yapıyormuş gibi algılamayın. Eksiğim var ise mutlaka geliştirmek isterim. Yenilik her daim iyidir. VB6'da yazmış olduğum programı .NET'e çevirmek için boşuna debelenmek istemem. VB'de ne kadar az kaynak bulsam da C#.net ile bulduğum kaynakları vb koduna çevirip kullanım şekline ve işime yarayıp yaramayacağına bakıyorum. Sonuçta bir süre sonra o özellik de bana lazım olabilir diye.. 

    Formlarda gördüğüm bir farklı sorun da şu: Soran kişi örnek istemiş.. Eğer bilse zaten şurasını nasıl yaparım diye sormuş. Fakat cevaplayan arkadaşlar çoğu zaman örnek vermemiş. Şuradan şunu yaparsan şu event'ta şu şekilde kodlarsan .... diye cümleler kurmuş.. Keşke örnek kodlama verseler.. 
    Çok daha faydalı olur. 
    Dün bir trigger örneğine cevap yazdım misal. Size yemin edebilirim kimseden tek bir yardım almadım yüzyüze veya kişisel olarak VB.NET'e geçerken.. 
    Örnekleri inceleye inceleye kendim bir şeyler yapmaya çalıştım. Becerebildim mi? Belki.. Ama daha da yeniliklere açık olduğumu şimdiden söyleyeyim. 

    Açtığım topic'te yardımcı olursanız sevinirim. Teşekkür eder kolaylıklar ve esenlikler dilerim.

    20 Kasım 2019 Çarşamba 10:05
  • O soruyu daha önce okudum, yüzde yüz anlayamama rağmen cevap yazacaktım ama 'C# kullanmıyorum' ibaresi yüzünden biraz imtina ettim (daha doğrusu üşendim). C# yazmak benim için daha kolay, sonra onu VB.Net'e çevirmem gerekiyor, sonunda açıkçası tembellik ettim. Bugün bir ara tekrar bakıp yazabilirsem yazayım (benim için bugün bazen gece yarısı ve sonrası demek olabiliyor). 


    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.

    20 Kasım 2019 Çarşamba 10:49
    Yanıtlayıcı