Mojgan110
شنبه 16 دی 1385, 01:30 صبح
سلام
قبل از اینکه دیتابیس و جدولها کانکت بشوند ، میخواهم که یه سری چک صورت بگیره که مشکلی نباشه.
من این طوری به ذهنم رسید .
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
if(DirectoryExists('D:\ODB')) then
begin
DBISAMDatabase1.Directory:='D:\ODB';
DBISAMDatabase1.Connected:= True;
if(DBISAMTable1.Exists) then
if(DBISAMTable1.VerifyTable) then
DBISAMTable1.Active:= True
else
begin
ShowMessage('Archive Table is Corrupted'+#10+'But is being Repaired');
DBISAMTable1.RepairTable(False) ;
DBISAMTable1.Active:= True;
end
else
ShowMessage('Table Does Not Exist, Trying to Restore to Previous Backups...')
end
else
ShowMessage('Database Doesnot Exist, Trying to Restore to Previous Backups...');
end;
حالا مشکلم سر VerifyTable هست که قراره خراب بودن/نبودن جدول را چک کنه.
چون وقتی عمدا جدول را خراب کردم ، روتینی که نوشته بودم کمکی به من نکرد ، بلکه سیستم مدیریت خطای_ خوده DBISAM بود که ظاهر شد و گفت که جدول مشکل داره و اینا.
پس چرا VerifyTable عمل نکرد ؟
آیا مشکل از الگوریتم من بوده ؟ ( مثلا if-else ها درست تنظیم نشده باشند و ... ) یا چیز دیگری بوده ؟
ممنون.
قبل از اینکه دیتابیس و جدولها کانکت بشوند ، میخواهم که یه سری چک صورت بگیره که مشکلی نباشه.
من این طوری به ذهنم رسید .
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
if(DirectoryExists('D:\ODB')) then
begin
DBISAMDatabase1.Directory:='D:\ODB';
DBISAMDatabase1.Connected:= True;
if(DBISAMTable1.Exists) then
if(DBISAMTable1.VerifyTable) then
DBISAMTable1.Active:= True
else
begin
ShowMessage('Archive Table is Corrupted'+#10+'But is being Repaired');
DBISAMTable1.RepairTable(False) ;
DBISAMTable1.Active:= True;
end
else
ShowMessage('Table Does Not Exist, Trying to Restore to Previous Backups...')
end
else
ShowMessage('Database Doesnot Exist, Trying to Restore to Previous Backups...');
end;
حالا مشکلم سر VerifyTable هست که قراره خراب بودن/نبودن جدول را چک کنه.
چون وقتی عمدا جدول را خراب کردم ، روتینی که نوشته بودم کمکی به من نکرد ، بلکه سیستم مدیریت خطای_ خوده DBISAM بود که ظاهر شد و گفت که جدول مشکل داره و اینا.
پس چرا VerifyTable عمل نکرد ؟
آیا مشکل از الگوریتم من بوده ؟ ( مثلا if-else ها درست تنظیم نشده باشند و ... ) یا چیز دیگری بوده ؟
ممنون.