Ynt: Vb6 database connection string

Başlatan Ramiz, 23 Ocak 2014, 11:31:06

Ramiz

Selam,

Yıllar öncesinde yapmış olduğum bir prjeyi geliştirmem gerektiğinden yine VB ile buğuşuyorum.. Vb6 dan uzun süre önce terfi ettiğimden şuan belli başlı sorunlar yaşıyorum.

Eskiden hatırladığım kadarıyla, xp işletim sisteminde c:\ içersinde küçücük bir izinden sonra istediğimiz gibi erişebiliyorduk. Win7 de c:\ içersine erişmek sıkıntı oluyor. İzinleri açmak ise, sıradan insanların uğraşmak istemeyeceği türden bir sorun..

Eskiden access dosyalarını c:\ diye tanıtırdım programıma. Nereye kurulursa kurulsun, c:\XXXXX.mdb diye çekerdi tabloları.

Vb6 da tıpkı C# ta olduğu gibi exe dosyamın bulunduğu(nereye atmışsak artık) klasörün içersinde XXXXX.mdb dosyamı aramasını söyleyebilirmiyim?

Vb6 ile haşır neşir olanlar bu konuyu nasıl çözüyorlar?



Teşekkürler.

mesaj birleştirme:: 23 Ocak 2014, 11:36:59

Bu arada access dosyama "data control" componenti ile bağlanıyorum.
Electrical & Electronics Engineering -> Step one

iyildirim

Dosya yolunu
path= app.path & "xxx.mdb"
şeklinde programın çalıştığı klasör olarak gösterebilirsiniz.


OG

    If Not (Dir(App.Path & "\XXXXX.mdb") = vbNullString) Then
        ''' bla blaa bla
    End If


Terfi zamanı gelmemiş.. Bla bla..
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Ramiz

Alıntı yapılan: iyildirim - 23 Ocak 2014, 12:18:56
Dosya yolunu
path= app.path & "xxx.mdb"
şeklinde programın çalıştığı klasör olarak gösterebilirsiniz.

Örnek kod verebilirmisiniz? Vb tarafında nasıl yazılıcağını tam olarak anlayamadım.

Alıntı yapılan: OG - 23 Ocak 2014, 16:38:35
    If Not (Dir(App.Path & "\XXXXX.mdb") = vbNullString) Then
        ''' bla blaa bla
    End If


Terfi zamanı gelmemiş.. Bla bla..


bundan hiçbirşey anlamadım..
Electrical & Electronics Engineering -> Step one

dnacikaya

@Ramiz sanırım projenizi .net ile devam ettirebilirsiniz. Terfinin en basit yolu visual studio file open convert.
Vb6 kodlarını eksiksiz güncel kodlara çevirir. Artık vb.net yada c#.net seçimi size kalmış.

Ramiz

Alıntı yapılan: dnacikaya - 24 Ocak 2014, 14:47:54
@Ramiz sanırım projenizi .net ile devam ettirebilirsiniz. Terfinin en basit yolu visual studio file open convert.
Vb6 kodlarını eksiksiz güncel kodlara çevirir. Artık vb.net yada c#.net seçimi size kalmış.

Öneriniz için teşekkür ederim. Zaten şuan c# kullanıyorum. Bu bahsi geçen proje 6 yıl öncesine ait. Zaten ilk mesajımda bunu yazmıştım. Dikkatli okumamışsınız :)
Electrical & Electronics Engineering -> Step one

barisertekin

#6
Alıntı yapılan: Ramiz - 24 Ocak 2014, 17:56:20Öneriniz için teşekkür ederim. Zaten şuan c# kullanıyorum.

Öncelikle C# olduğunu bir kaç kere okumama rağmen anlamadım. Yoksa cevabı sabahtan yazardım.

Veritabanını projenin bulunduğu dizinde /Bin/Debug altına koyarsanız aşağıdaki gibi erişebilirsiniz.

string Path = Application.StartupPath + "\\DbName.mdb";


Ramiz

Alıntı yapılan: barisertekin - 24 Ocak 2014, 19:17:08
Öncelikle C# olduğunu bir kaç kere okumama rağmen anlamadım. Yoksa cevabı sabahtan yazardım.

Veritabanını projenin bulunduğu dizinde /Bin/Debug altına koyarsanız aşağıdaki gibi erişebilirsiniz.

string Path = Application.StartupPath + "\\DbName.mdb";


Hayır yanlış anlamışsınız.. dnacikaya projemi c# a geçirmemi ve c# terfi etmemi söylemiş.
"Bende 3-4 yıldır c#kullanıyorum. Fakat bu proje daha eski zamanlarda yazıldı" demek istedim. Yani bahsi geçen proje halen Vb6 da..

Convert işleri ile uğraşmak istemiyorum. Tek bir kod satırı için, projenin platformunu değiştirmek mantıklı değil.. Zaten bu düzenlemeden sonra bir daha bu proje ile işimin olacağınıda sanmıyorum :)

Electrical & Electronics Engineering -> Step one

iyildirim

Alıntı yapılan: dnacikaya - 24 Ocak 2014, 14:47:54
@Ramiz sanırım projenizi .net ile devam ettirebilirsiniz. Terfinin en basit yolu visual studio file open convert.
Vb6 kodlarını eksiksiz güncel kodlara çevirir. Artık vb.net yada c#.net seçimi size kalmış.

Hocam vb6 kodunu .NET'e çevirmekten bahsediyoruz demi. 
Baktım ama pek işe yarar bir şey  bulamadım. Bir link vs. varmıdır. ?

muhittin_kaplan

Hocam vb projesini net e cevirmek icin vs ile aciyorsunuz o ceviriyor.
Ama epey hata ile, kaldiki data nesnesi vb60 in degil 40 icindir. 60 da adodc kullanilmistir.
Onuda muhtemelen hatali cevirir. .net ile birlikte en buyuk fark veritabani iletisimine gelmistir. Ado.net in sadece adi benzerdir

iyildirim

Hocam  zamanında çok araştırmıştım. Bulabildiğim vbto diye bir tool du. O da zaman süreli lisanslanıyordu.

Hatalı çevrilme olasılığı olan binlerce satırı kontrol etmek işime gelmiyor açıkçası. 
En azından form,  modül bazında yüksek oranda doğru convert işlemi yapabilen ve hiç olmazsa convert işleminde hatalı olabilecek satırları raporlayabilen bir şey gerekli. Tabii bin satır kodun 900 satırını burayı bi kontrol edin  diye raporlamaması da gerekli.

   

dnacikaya

@ramiz programda geniş kapsamlı değişimler yoksa sorunu bu şekilde çözmeniz yeterli olmuş.

Alıntı yapılan: iyildirim - 24 Ocak 2014, 19:25:40
Hocam vb6 kodunu .NET'e çevirmekten bahsediyoruz demi. 
Baktım ama pek işe yarar bir şey  bulamadım. Bir link vs. varmıdır. ?

@iyildirim doğrudur. VB6 VB.NET dönüşümünden bahsediyorum. Bu konu visual studio ile çözülebilir. Ancak microsoft bu desteğini vs2003 vs2008 versiyonlarında veriyor. Maalesef vs2010 ve üstü sürümlerde destek kesilmiş sanırım tam olarak araştırmadım.

Aşağıdaki linkten vs2008 indirin. File open convert ile vb6 dosyasını vb.net.e çevirebilirsiniz.

http://www.indirland.net/indir/microsoft_visual_studio_2008_professional.html

Youtube da birde örnek video var;

how to convert visual basic 6.0 to visual basic 2008 using visual studio 2008

Birde vb.net ten c#.net e dönüşüm için online araçlar mevcut;

http://www.developerfusion.com/tools/convert/vb-to-csharp/

Tabi bu epey uğraştırıcı olabilecek bir seçenek.


iyildirim

2003 de denemiştim diye hatırlıyorum. Detayları hatırlamıyorum ama bir şekilde 3. parti bit tool arayışına girmiştim.
Şu anda elzem  olmasada çevirmek istediğim bir proje var.
Bazı yerlerde sorun çıkarması normal ama kodun yarısını tekrar elden geçireceksem elde kod çevirmekten pek bir farkı yok diye düşünüyorum.

2003, 5- 8 msdn den indiirip bakacağım.. Bir şekilde .NET e geçtikten sonrası kolay. Net içerisindei dönüşümler görüdüğüm  kadarı ile daha başarılı.
Teşekkürler.