Veri tabanına her konumdan ulaşabilmek.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Veri tabanına her konumdan ulaşabilmek.

Mesaj gönderen mmnckr »

Access kullanarak yazmış olduğum programın, her nereye, hangi makineye kopyalanırsa kopyalansın veri tabanına ulaşıp, o konumdada çalışmasını istiyorum.Bununla ilgili ne yapmam gerekiyor.İyi çalışmalar kolay gelsinç
mmnckr
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

programın kopyalanmasıyla birlikte db de kopyalanıyorsa sorun yok zaten. yok eğer sadece exe kopyalanacaksa, db nin path ini regedit de tutabilirsin. exe db yi regedit deki path de bulamazsa kullanıcıya sorsun, kullanıcıda bilmiyorsa yapacak bişey yok, tüm disklerde arama yapsın. bulduğunda yada eğer kullanıcı yolu kendisi belirlerse bu yolu tekrar sormaması için regedit e yazarsın.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Sevgili Lazio; database de program klasörüyle birlikte kopyalanıyor fakat kopyaladığım yerde programı çalıştırınca eski konumunu arıyor. Buna otomatik bi path yapamıyormuyuz? Nersi olursa olsun okuyabileceği.
mmnckr
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kod: Tümünü seç

var
  AppDir: string;
begin
  AppDir := ExtractFilePath(Application.ExeName);
  if Database1.Connected then
    Database1.Close;
  Database1.DatabaseName := AppDir + 'VERI_TABANI.MDB';
  Database1.Open;
//...
end;
Yukarıdaki kod bloğuna uygun olarak exe nin bulunduğu klasörü aldırıp kullanabilirsin. Tabi ki exe ile veritabanı aynı klasörde ise.. :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

rsimsek hocam çok güzel yazmışsında ben bunu nereye yazacağımı ve nasıl uygulayacağımı bulamadım onun hakkındada bilgi verirsen sevinirim.
Birde programda query kullanıyorum sadece,ona göre değerlendirisen iyi olur.
mmnckr
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

query nin bağlı olduğu connection yada database komponentini connect ettiğin yere yazıyorsun.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Hocam bak access database ile dizayn timede bağlantı kurarken Database.mdb dosyasının sadece adını yaz.Yolunu yazma.O şekilde program database dosyasını sadece exenin bulunduğu yerde arar.Sende database dosyasını exenin yanına atarsan hangi bilgisayar yada hangi sürücü olursa olsun farketmez.İstersen temp klasörünün içine at.Exe ile aynı yerde oldumu çalışır.
2.Yol Recep abinin söylediği gibi AppDir değişkenini parametre vererek formun create yordamında kodla bağlantı vermek.Bu yol zor gelirse dediğm gibi yapabilirsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Aksi gerekmedikçe Veritabanı nesnelerini DataModule formunda bulundurmakta fayda var. Database bileşeni hangi formda ise onun OnCreate ında yazmanız yeterli :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mmnckr
Üye
Mesajlar: 83
Kayıt: 27 Nis 2005 08:04
Konum: izmir

Mesaj gönderen mmnckr »

Arkadaşlar hallettim yardımlarınız için çok saolun.
mmnckr
Cevapla