Witam...
Próbuje napisać Taki mini-generator bez danych... Ale napotkałem mały problem... przy próbie dodania kolejnego rekordu wyskakuje mi "key Violation" Najgorsze jest to że nie mam pojęcia gdzie może występować powtórzenie tej samej wartości... Myślałem ze powodem może być pole ID Więc je usunąłem... jednak nic to nie dało.. proszę o jakieś uwagi...
PS: To mój pierwszy program z bazami danych wiec możliwe są spore błędy...
Czekam na odpowiedź
{Tworzenie calkowicie nowej bazy}
procedure TForm1.Button1Click(Sender: TObject);
Begin
BaseName:=inputbox('Kreator nowej Bazy Danych','Podaj Nazwę Nowej Bazy','');
BaseDir:= inputbox('Kreator nowej Bazy Danych','Lokalizacje Nowej Bazy Danych','c:\'+BaseName);
MainTable:=inputbox('Kreator nowej Bazy Danych','Podaj Nazwę Głównej Tablicy',BaseName);
if not DirectoryExists (BaseDir) then
Begin
CreateDir (BaseDir);
Session.AddStandardAlias(BaseName,BaseDir,'');
Table1.DatabaseName:=BaseName;
Table1.TableType:=ttParadox;
Table1.TableName:=MainTable;
if not Table1.Exists then
Begin
With Table1.FieldDefs do
Begin
With AddFieldDef do
Begin
Name := 'Prateritum';
DataType := ftString;
Required := False;
End;
With AddFieldDef do
Begin
Name := 'PartizipII';
DataType := ftString;
Required := False;
End;
With AddFieldDef do
Begin
Name := 'Bezokolicznik';
DataType := ftString;
Required := False;
End;
With AddFieldDef do
Begin
Name := 'TłumaczeniePL';
DataType := ftString;
Required := False;
End;
End;
End;
Table1.CreateTable;
End;
if Table1.TableName='' then
Begin
Button2.Enabled:=False;
End
else
Begin
Button2.Enabled:=True;
End;
end;
{Dodawanie rekordów wartościami z pol edit}
procedure TForm1.Button2Click(Sender: TObject);
begin
if Table1.TableName='' then
Begin
Button2.Enabled:=False;
End
else
Begin
Button2.Enabled:=True;
Table1.TableName := BaseDir+'\'+MainTable;
Table1.Active := True;
Table1.OpenDatabase;
Table1.Append;
Table1.FieldValues['Prateritum']:=Edit1.Text;
Table1.FieldValues['PartizipII']:=Edit2.Text;
Table1.FieldValues['Bezokolicznik']:=Edit3.Text;
Table1.FieldValues['TłumaczeniePL']:=Edit4.Text;
Table1.Post;
Label5.caption:=inttostr(Table1.RecordCount);
End;
end;
{Wczesniej utworzonej bazy}
procedure TForm1.Button3Click(Sender: TObject);
begin
OpenDialog1.Execute;
MainTable:=ExtractFileName(OpenDialog1.FileName);
BaseDir:=ExtractFilePath(OpenDialog1.FileName);
Label6.caption:=('Załadowana baza '+basedir+MainTable);
Table1.TableName:=MainTable;
Session.AddStandardAlias(MainTable, BaseDir,'');
Edit6.Text:=BaseName;
if Table1.TableName='' then
Begin
Button2.Enabled:=False;
End
else
Begin
Button2.Enabled:=True;
End;
Button2.Enabled:=True;
Table1.TableName := BaseDir+'\'+MainTable;
Table1.Active := True;
Table1.OpenDatabase;
Label5.caption:=inttostr(Table1.RecordCount);
end;
end.