dbedit
Unique index secili iken Findkey ile bu kontrolu yaptirabilirsiniz..
Mutlaka table nesnesini kullanmak zorunda degilseniz de bu kod farkli bir kontrol icin fikir verecektir.
Mutlaka table nesnesini kullanmak zorunda degilseniz de bu kod farkli bir kontrol icin fikir verecektir.
Kod: Tümünü seç
with TQuery.Create(Self) do
begin
DatabaseName:='DATABASE_ADI'; //Database componentinizin DatabaseName ozelligi
SQL.Add('Select count(*) as KAYIT_SAYISI from MUSTERI where MUSTERI_NO='+IntToStr(VAR_MUSTERI_NO));
Open;
if FieldByName('KAYIT_SAYISI').AsInteger>0 then
ShowMessage('Kayıt var');
Free;
end;
Primary key oluşturmak için (Paradox) kullandığınızı varsayarsak alanı tanımlarken "Key" sütununda * tuşuna veya SPACE tuşuna basmanız yeterli olacaktır. Unique Index oluşturmak içinse (Yine Paradox kullandığınız varsayıyorum) Tabloyu oluştururken sağ tarafta bulunan "Table Properties" açılır kutusundan "Secondary Indexes" seçin,ardından Define butonuna tıklayın açılan pencerede sol taraftan Unique olarak tanımlamak istediğiniz alana tıklayıp sağ ok tuşuyla sağ tarafa alın ve aşağıda bulunan "Index Options" kısmında "Unique" onay kutusunu işaretleyip OK'a basın bu işlemden sonra sizden İndex adını girmeniz istenecektir. İndex adını yazıp geçin.
Umarım fazla uzatmadan yardımcı olabilmişimdir.
Kolay Gelsin
Umarım fazla uzatmadan yardımcı olabilmişimdir.
Kolay Gelsin
dbedit sorunu ile ilgili
mustafa hocam dbase for windows kullanıyorum.datalarımı buna göre
hazırladım.ne yapmam gerekiyor. İyi çaloşmalar
hazırladım.ne yapmam gerekiyor. İyi çaloşmalar
Database desktop ile ilgili tablonuzun yapısını acarsaniz. (Restructure) sag tarafta table properties kisminda indexes secili iken alt tarfta define deyip index tanimlarken indexin unique olmasin icin options'ta ilgili check box'i isaretlemeniz gerekiyor.... Findkey'in kullanımı ise su sekilde ornegin primary key iki alandan olusuyorsa
tek alan var ise ve de primary key numeric ise ...
Kod: Tümünü seç
if Findkey([Deger1,Deger2]) then
.....
Kod: Tümünü seç
if Findkey([StrToInt(Edit1.Text)]) then
.....
dbedit
fahrettin hocam unigie index yaptım fakat bu seferde daha önce silmiş olduğum kayıtları bir daha giremiyorum.
benim esas sorunum dbgridde ikinci bir kaydım gözükmesin. Yani dbeditten mesala 1 girdiğim kodu Kaydettim İkinci sefer yine 1 girdiğimde
bu kayıt şu an da var demesini istiyorum.
ve locate,findkey gibi komutlardan bir sonuç alamadım. Acaba ben mi bir yerleri eksik yapıyorum. Hocam tam teferruatlı bunu komutlarını gönderir
seniz sevinirim.Allah şimdiden razı olsun.
benim esas sorunum dbgridde ikinci bir kaydım gözükmesin. Yani dbeditten mesala 1 girdiğim kodu Kaydettim İkinci sefer yine 1 girdiğimde
bu kayıt şu an da var demesini istiyorum.
ve locate,findkey gibi komutlardan bir sonuç alamadım. Acaba ben mi bir yerleri eksik yapıyorum. Hocam tam teferruatlı bunu komutlarını gönderir
seniz sevinirim.Allah şimdiden razı olsun.
Açıkcası dbase tabloları ile calismadigim icin o tarafta fazla bir bilgim yok. Daha once yazdigimi da o an bakip gorerek yazmistim. Zaten unique index yapinca ayni kaydin girilmesine veritabani musade etmemekte. Sizin kontrol yapmaniza bile gerek kalmiyor....
Query ile kontrol etme icin gonderdigim kodun calismasinda bir sorun olmayacaktir bence onu kullanın olmazsa....
Query ile kontrol etme icin gonderdigim kodun calismasinda bir sorun olmayacaktir bence onu kullanın olmazsa....