Hallöchen,
ich habe ein kleines Problem mit meiner
Access DB, die an die 50000 Datensätze gesammelt hat.
Wenn ich versuche einen neuen Datensatz anzulegen, hängt das ganze Programm gute 1,5 Minuten,
bis das sich wieder was bewegt.
Mit steigenden Datensätzen, wirds schlimmer, aber 50000 Datensätze sollten doch für eine Datenbank nicht viel sein?
Hier mal mein Code:
Delphi-Quellcode:
procedure TTabelle.Timer1Timer(Sender: TObject);
begin
DataModule1.ADOtable1.Append;
DataModule1.ADOtable1.FielValues['Date'] := now;
DataModule1.ADOtable1.FielValues['Time'] := now;
DataModule1.ADOtable1.FielValues['TS'] := now;
DataModule1.ADOtable1.FielValues['Wert1'] := strtoint(SDIAppForm.E_Wert1.Text);
DataModule1.ADOtable1.FielValues['Wert2'] := strtoint(SDIAppForm.E_Wert2.Text);
DataModule1.ADOtable1.FielValues['Wert3'] := strtoint(SDIAppForm.E_Wert3.Text);
DataModule1.ADOtable1.FielValues['Wert4'] := strtoint(SDIAppForm.E_Wert4.Text);
DataModule1.ADOtable1.FielValues['Wert5'] := strtoint(SDIAppForm.E_Wert5.Text);
DataModule1.ADOtable1.FielValues['Wert6'] := strtoint(SDIAppForm.E_Wert6.Text);
DataModule1.ADOtable1.FielValues['Wert7'] := strtoint(SDIAppForm.E_Wert7.Text);
DataModule1.ADOtable1.FielValues['Wert8'] := strtoint(SDIAppForm.E_Wert8.Text);
DataModule1.ADOtable1.FielValues['Wert9'] := strtoint(SDIAppForm.E_Wert9.Text);
DataModule1.ADOtable1.FielValues['Wert10'] := strtoint(SDIAppForm.E_Wert10.Text);
DataModule1.ADOtable1.Post;
end;
Die Eigenschaften von ADOConnection:
Attributes.xaCommitRetaining = False
Attributes.xaAbortRetaining = False
CommandTimeout = 30
Connected = True
ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;User ID =Admin;Data Source=C:\Test\
db.mdb;Mode=ReadWrite;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path:"";Jet OLEDB
![Very Happy](images/smilies/icon_biggrin.gif)
atabase Password="";Jet OLEDB:Engine Type=4;Jet OLEDB
![Very Happy](images/smilies/icon_biggrin.gif)
atabase Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB
![Very Happy](images/smilies/icon_biggrin.gif)
on't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=FALSE
ConnectionTimout = 15
ConnectOptions = coConnectUnspecified
CursorLocation = clUseClient
DefaultDatabase =
IsolationLevel = ilCursorStability
KeepConnection = True
LoginPromt = False
Mode = cmReadWrite
Name = ADOConnection1
Provider = Microsoft.Jet.OLEDB.4.0
Tag = 0
___________________________________
Die Eigenschaften von DataSource1:
AutoEdit = True
DataSet = ADOTable1
Enabled = True
Name = DataSource1
Tag = 0
___________________________________
Die Eigenschaften von DataSource2:
AutoEdit = False
DataSet = ADOTable2
Enabled = True
Name = DataSource2
Tag = 0
__________________________________
Die Eigenschaften von ADOTable1
Active = True
AutoCalcFields = True
CacheSize = 1
CommandTimeout = 30
Connection = ADOConnection1
ConnectionString =
CursorLocation = clUseClient
CursorType = ctStatic
EnableBCD = True
Filter =
Filtered = False
IndexFieldNames=
IndexName=
LockType = ItOptimistic
MarshalOptions = moMarshalAll
MasterFields=
MasterSource=
MaxRecords=0
Name=ADOTable1
ReadOnly = False
TableDirect = False
TableName=Tabelle1
Tag=0
_______________________________
Die Eigenschaften von ADOTable2 unterscheiden sich von ADOTable1 nur in:
Name=ADOTable2
TableName=Tabelle2
Ich hoffe Ihr könnt mir helfen!
Mit freundlichem Gruß
der_karl