Arama butonu
Bu konudaki kullanıcılar: 1 misafir
28
Cevap
1739
Tıklama
0
Öne Çıkarma
Delphi Yardım( Önemli )
G
20 yıl
Yüzbaşı
Konu Sahibi

Delphide bir datebase tablosu oluşturdum.Bunu table nesnesiyle ilişkilendirdim ama ilişkilendirdiğim yer başka bir bilgisayar da olamayacağı için başka yere gidince çalışmıyor.Bu tabloyu kendi içindeki klasöre attım.öyle bişey yazmalıyım ki DatebaseName deki adrese nereye giderse gitsin kendi içindeki bu tabloyu bulmalalı...Bilgisi olan arkadaşlar varsa yardımcı olabilirmi biraz acilde...



M
20 yıl
Binbaşı

Büyük ihtimal connection de problemin var, bunu halletmek için bağlantı kısmı mesela c:\abc\def\a.mdb gibi bir dosyayı gösteriyorsa, dosyayı programın yanına taşıyıp sadece a.mdb şeklinde yaparsan hallolur. O zaman sadece yanında olması yeterli olur.


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Denedim olmadı saol yinede! Bilen yok mu ??


Bu mesaja 1 cevap geldi.
D
20 yıl
Yarbay

getcurrentdir adlı string çıktılı komut geçerli sizi verir ama tavsiye etmem.yan bar veya başalngıç dizni faklrı bir kısayol ile çalıştırlırsa uygıulama farklı dizin veriri


bir diğeri paramstr(1) buda geçrli yolu verir extractfilename(); diyerek çıakrabilirsn


ama sana şunu tavsiye ederim

ExtractFilePath(pansichar(Application.exename))


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Çok sağol denedim program kilitlendi sorun bendemi acaba...

Alias yanlış diyor hala...





< Bu mesaj bu kişi tarafından değiştirildi Greenleaf -- 21 Mayıs 2005, 19:57:33 >
Bu mesaja 1 cevap geldi.
D
20 yıl
Yarbay

quote:

Orjinalden alıntı: Greenleaf

Çok sağol denedim program kilitlendi sorun bendemi acaba...

nasıl becerdin yaws. access violation mı oldu sen bu kodları önce tek başıan bir kontrol et sonra programa ekle istersen


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: drony


quote:

Orjinalden alıntı: Greenleaf

Çok sağol denedim program kilitlendi sorun bendemi acaba...

nasıl becerdin yaws. access violation mı oldu sen bu kodları önce tek başıan bir kontrol et sonra programa ekle istersen


böyle olmicak drony msn varmıydı


Bu mesaja 1 cevap geldi.
İ
20 yıl
Binbaşı

quote:

Orjinalden alıntı: Greenleaf

quote:

Orjinalden alıntı: drony


quote:

Orjinalden alıntı: Greenleaf

Çok sağol denedim program kilitlendi sorun bendemi acaba...

nasıl becerdin yaws. access violation mı oldu sen bu kodları önce tek başıan bir kontrol et sonra programa ekle istersen


böyle olmicak drony msn varmıydı


Senin hangi dille uğraştığını çözemedim daha :))

kullandığın VERİTABANI ve Nesne türlerini yaz
sana yol gösteririm biraz ..
Arkadaşların yaptıkları açıklamarla deil bu olay BDE administrator Alias larıyla ilgili...


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Her dalda biraz ilerlemeye çalışıyorum :) asp,php var onlarda yaza

DefaultDD
dbase for windows da tablo bunu başka bi yere taşıyınca da kullanmam gerekiyor.ama başka bir bilg. e gidince db tablo yerininde değişmesi lazım bu tabloyu kendi içine atıp yerinide orası olarak belirlemem lazım nasıl olacak çözemedim :)


Bu mesaja 1 cevap geldi.
D
20 yıl
Yarbay

http://k.domaindlx.com/dronyx/adoconnect.z //örnek

bana dün gönderdiğin kod eksikti formun sadece yardım kısmı açıldı yarısını unutmuşsun.
neyse resimde table kullanmışsın(onunla sadece dsn üzerinde bağlabilirsin. ve dsn ayarlarını karşı bilgisayarda yüklemk gerekir.) bence onun yerine adotable nesnesi kullan ayrıca onunlada dsn kullanabilrisn. ama tavsiyem path sistemi olacaktır.
öncelikle forma adotable ,dbgrid ve datasource nesnelerini ekle
ve datasource1 in dataset yazan kontrolünden adotable1 i seç.
dbgrid1 inde datasource kontrolünden datasource1 i seç.
sonra adotable1. den connectionstring ten gerekli ayarları yap (ayrıca dsn ayarlarınıda yükleyebilrisn buradan) sonra orada uzun bir string çıkacak sonra onu olduğu gibi kopyala;
sonra bu stringi(oradaki yazı) bir widestring değişkenine ata yada direct ADOTable1.ConnectionString 'e ata

örn.

var
dbpath:string;

begin
dbpath:='c:\dizin\db.mdb'
ADOTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+dbpath+';Persist Security Info=False';
ADOTable1.TableName:='mesajlar'; //tablo adı
adotable1.Active:=true;
end;


ayrıca örneğin. database ile program aynı dizin veya altdizininde olacak diyelim bunuda

dbpath:=ExtractFilepath(Application.Exename)+'\db.mdb';

şeklinde tanıtabilirsin.
sonra adotable1 den tablename ve field den istediğin tablo ve alanları seç. ve active et bu kadar


Bu mesaja 2 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Tam yollanmadı sanırım..Neyse bilgiler için saol uğraştın o kadar deneyeyim bakayım olcak mı :)



İ
20 yıl
Binbaşı

Yahu önce kodu yazıp sonramı düşünüyorsun sen !

Arkadaş :
quote:


DefaultDD
dbase for windows da tablo bunu başka bi yere taşıyınca da kullanmam gerekiyor.ama başka bir bilg. e gidince db tablo yerininde değişmesi lazım bu tabloyu kendi içine atıp yerinide orası olarak belirlemem lazım nasıl olacak çözemedim :)


Demiş dikkat edersen :) Sen Access veritabanı ile ado bağlantısını anlatmışsın :)

Tek yapman gereken Form üzerine bir TDATABASE nesnesi koymak :) BDE aliasları dışardan yönetme kabiliyetine sahip bir program biz bunu database nesnesi ile programa aldık mı tamam olay hepsi bu !!
TTable nesnesi ve TDatasource nesnelerinde database türü farketmez.

örn.:
Databse1 -> nesne
özellikler
drivername -> standart seçili olacak (Dbase içinde olur)
Databasename -> Salla mesela Green :)
Aliasname -> dokunma boş kalsın :)

daha sonra delphi içinde yeni bir alias oluşmuş olacaktır !.
databaseini program dizinine aç ve Table1 in Table Name özelliğine (databaseismi.uzantı) yaz dizin vermeden ! Biraz uğraş eğer yapamassan sana çok basit bir şey hazırlar webe yüklerim bu başlangıç olsun. Programı taşırken dikkat etmen gerekenlerde sonraki konu olsun.

Kolay gelsin...


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

< Resime gitmek için tıklayın >

söylediğin tüm şeyleri yaptım eminim doğru olduğuna da ama başka bilgisayar da çalıştırınca bu hatayı veriyor.


Bu mesaja 1 cevap geldi.
İ
20 yıl
Binbaşı

http://rapidshare.de/files/1708971/DomainKay_tProgram.rar.html

Burada ki daha önceden yazdığım küçük örneği inceleyerek daha iyi fikir sahibi olabilirsin.

Ek olarak..: Delphide yazılmış veritabanı programlarının hemen hemen tamamı BDE administrator programına ve program altında yerleşik DLL dosyalarına ihtiyaç duyarlar.Eğer anlattığm şekilde TDatabase dosyasını projene eklersen bu sadece programının BDE de configure ettiğin ALIAS sorununu devre dışı bırakır. Yani TDATABASE sayesinde program kendi aliasını kendi üreterek BDE den kaynaklanan yavaşlama ve Run sorunlarının önüne geçilir!.

Bununla birlikte local table dosyaları ile Nesnel olarak bağlantı sağlıyorsan BDE'yi her halükarda diğer bilgisayara taşımalısın!. Eğer diğer bilgisayarda delphi kullanmıyorsan Borland installshield ile basit bir installshield hazırla ve BDE sistem gerekliliklerinde Merge modul olarak ekle. Installshield olarak BDE yi sisteme gerekli ayarları ile birlikte taşımazsan projen çalışsa bile bazı hatalar oluşur. Niye peki ?

Bde içerisindeki DLL dosyalarında bulunan bağlantı fornksiyonları ve argumanlar delphi ile gelen Data Objeleri ile ilişkilidir.Yani objeler database e BDE üzerinden erişir LOCAL projeler genelde böyledir.

Uzun lafın kısası Karşı sistemde BDE olmalı (paradox,Dbase,Vdbase) gibi veritabanları için mecbur. Interbase yada SQL server gibi gelişmiş veritabanlarının zaten kendi altyapıları var ve BDE'yi sadece kopyalarsanda olmaz ! Karşı sisteme installshield kullanarak aktarmanı yada delphi setup'ından yükleme yapmanı öneririm.

Birde unutmadan daima data bağlantıları yaptığın Form ve objeleri Application da ilk Create Yap!

HATA NEDENİ..: BDE

Kolay gelsin...


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Farkındayım seni çok uğraştırdım ama bu program açılmıyor,hata veriyor


Bu mesaja 1 cevap geldi.
İ
20 yıl
Binbaşı

quote:

Orjinalden alıntı: Greenleaf

Farkındayım seni çok uğraştırdım ama bu program açılmıyor,hata veriyor


O kısım önemli deil de Yahu 5 paragraf açıklama yaptım
Açmaya çalıştığın bilgisayarda BDE kurulumu ??? BDE -> Borland Database Engine


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

İ
20 yıl
Binbaşı

:)
BDE olmadan LOCAL bir DBase veritabanı uygulamasını karşı bilgisayarda çalıştıramazsın :) bunun için programı yazdığın makinede basit bir installshield hazırlamasın BDE ekleyerek yada BDE delphi CD sinden kurmalısın!

quote:

Orjinalden alıntı: Greenleaf

Hayır


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

Açıklamalar için çok sağol gerçekten çok şey öğrendim senden ayrıca


Bu mesaja 1 cevap geldi.
G
20 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: Aspci79

:)
BDE olmadan LOCAL bir DBase veritabanı uygulamasını karşı bilgisayarda çalıştıramazsın :) bunun için programı yazdığın makinede basit bir installshield hazırlamasın BDE ekleyerek yada BDE delphi CD sinden kurmalısın!

quote:

Orjinalden alıntı: Greenleaf

Hayır




peki BDE yi delphi den nasıl parçalayıp onun içine aktarcam ?