PDA

View Full Version : INDEX



شفیعی
شنبه 07 مرداد 1385, 20:41 عصر
سلام
من با استفاده از دستورات زیر در برنامه ایندکس ایجاد می کنم


DATAM.THAFAZAT.Active:=FALSE;
DataM.THAFAZAT.Exclusive:=TRUE;
DATAM.THAFAZAT.AddIndex('','CITY;NAME;FAMILY',[ixPrimary]);
DataM.THAFAZAT.Exclusive:=FALSE;
DATAM.THAFAZAT.Active:=TRUE;

فقط وقتی اطلاعات تکراری وارد می کنیم پیغام زیر را می دهد
KEY VIOLATION
اگر بخواهیم ایندکس را جوری طراحی کنیم که اطلاعات تکراری نیز دریافت کند باید چکار کرد

mzjahromi
شنبه 07 مرداد 1385, 21:38 عصر
چون شما ایندکس رو از نوع primary انتخاب کردید بدیهی هست که مقادیر تکراری رو کنترل میکنه.
گزینه ixprimary رو بر دارید

شفیعی
یک شنبه 08 مرداد 1385, 17:59 عصر
سلام
وقتی ixPrimary را حذف می کنم پیغام زیر را می دهد
INDEX NAME REQUIRED

شفیعی
دوشنبه 09 مرداد 1385, 21:16 عصر
سلام
کد زیر درست جواب نمی دهد علت چیست


procedure TF2500.DBGrid1TitleClick(Column: TColumn);
begin
Table1.Active:=FALSE;
Table1.Exclusive:=TRUE;
Table1.AddIndex('',Column.FieldName,[ixUnique]);
Table1.Exclusive:=FALSE;
Table1.Active:=TRUE;
end;

دنیای دلفی
سه شنبه 10 مرداد 1385, 21:08 عصر
کد بالا نیز همانند ixPrimary باعث می شود که خطای تکراری بودن داده ها را بدهد چون ixUnique نیز مانند ixPrimary نسبت به تکراری بودن حساس است

شفیعی
سه شنبه 10 مرداد 1385, 21:13 عصر
سلام
اگر بخواهیم ایندکس را جوری طراحی کنیم که اطلاعات تکراری نیز دریافت کند باید چکار کرد