programda dataları sıfırlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

programda dataları sıfırlama

Mesaj gönderen selman »

hazırlamış olduğum programa ikinci bir firmayı oluşturmak istiyorum yani aynı datayı deperleri sıfırlayarak yeni firmanın içine kopylamasını istiyorum
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Değerlerini sıfırlamak deyimiyle neyi kastediyorsunuz ?

- Bunu soruyorum çünkü, yeni kayıt için Append veya Insert komutu verdiğinizde, değerler boş olarak yeni bir kayıt eklenir.

- Default (Varsayılan) değerleriniz mi var da onları mı versin diyorsanız tablo'nun AfterInsert eventinde bu işlemi yaptıracak bir atamalar grubu koyabilirsiniz.
Resim
Resim ....Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Sanırım arkadaş tabloların hepsini sıfırlayıp öyle kullanmak istiyor.

Bence en güzeli boş bir şablon veritabanı tutup, bunu gerektiğinde firma için kopyalamak en güzeli.

Kolay gelsin.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@Admin haklı.

- Ben de yeni anladım.

- Doğru yöntem de @Admin'in dediği gibidir.

- Ayrıca Veritabanınızın türüne göre yazacağınız bir fonksiyon ile program içinden Veritabanı Create olayına girerseniz, programınızın dinamizmi açısından artı puan olur.

- Ama mevcut sistem ilerledi, yeni sistem kurmadan zaman tasarrufu yapmak istiyorum derseniz; program içinden CopyFile komutu ile mevcut veritabanınızı yeni isimle -ki yeni firma için yeni isim olacak- kopyalayıp Table'i bu yeni isme yönlendirdikten sonra Table.EmptyTable komutu ile mevcut eski verileri boşaltabilirsiniz.
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

bu yöntemleri nasıl uygularım

Mesaj gönderen selman »

bahsettiğiniz yöntemi hazırladığım porgrama nasıl uygulayabilirim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Veritabanınız ne şekilde, BDE, ADO veya bir başkası; bilmediğimden net cevap yazamıycam. Ama metodu detaylandırayım.

- Önce programınız için ürettiğiniz Veritabanlarından hangisi/hangileri firma kaydında kullandığınızı tespit edin. Unutmayın birden fazla parçası (örneğin DBF,MDX,DBT uzantılı üçlü sadece bir veritabanına aittir.) olan veritabanında bu üçünü de yeni isimle kopyalamanız gerekir.

- Firma kodunu (Unique, yani her zaman benzeri olmayan bir kod üretiliyorsa) referans alalım. Örneğimizde veritabanınızın isimleri

Veri.DBF
Veri.MDX
Veri.DBT
ile
001 ve 002 kodlu iki firmamız olsun.

- Yapacağınız şey basit.
:: Yeni Firma SIFIRDAN MEYDANA GETİRDİĞİNİZDE !!! ::
-----------------------------------------------------------------------
1. Veri.DBF -> 001.DBF
2. Veri.MDX -> 001.MDX
3. Veri.DBT -> 001.DBT olarak CopyFile ile KOPYALANACAK...!
4. Kopyalama işleminin başarılı olduğundan kontrol edip emin olduktan sonra, Table1.EmptyTable ile mevcut veritabanınızı boşaltırsınız. İşlerinize devam edersiniz.

:: Mevcut Başka bir Firma'yı GÖRÜNTÜLEDİĞİNİZDE !!! ::
Bu firma 002 olsun. Biz aslında mesela 001'i görüntülüyorduk.
-----------------------------------------------------------------------
1. ilk olarak disk erişimimiz engellenmesin diye mevcut Firma veritabanımızı kapatıyoruz.
2. Veri.DBF -> 001.DBF
3. Veri.MDX -> 001.MDX
4. Veri.DBT -> 001.DBT olarak RenameFile ile İSMİ DEĞİŞECEK - yani RENAME edilecek...!
5. İsim değişikliği işlemi başarılı olduğundan kontrol edip emin olduktan sonra,
6. 002.DBF -> Veri.DBF
7. 002.MDX -> Veri.MDX
8. 002.DBT -> Veri.DBT olarak RenameFile ile İSMİ DEĞİŞECEK - yani RENAME edilecek...!
9. Table'inizi Active ettiğinizde artık 002 firmasının bilgilerini göreceksiniz.


- Yukarda koyu yazdıklarıma gereken dikkati gösterirseniz veri kaybına uğramadan bu işin içinden sıyrılırsınız.

- Başarılar.
Resim
Resim ....Resim
Cevapla