I have not picked out a database to use yet so I am open to what you feel is best. I need it to be small and fast. The easier the better. It needs to store about 100,000 records in this table or two. I need the database made for me with the following table or tables and fields. All files are on the same local machine. So no server client should be needed.
ID: Type:Integer:UniqueKey
CameraName Type:String
FilePath Type: String
FileType Type: String
StartDrive Type: String
ServerIP Type: String
StartTime Type: Time
StopTime Type: Time
StartDate Type: Date
MotionData Type: Unknown maybe another table??? I need to store 30 integers (0-100) per record;
Then I need in the delphi the following functions and procedures.
Procedure AddNewRecord(CameraName,FilePath,FileType,StartDrive,ServerIP:String; StartTime:Time; StartDate: Date);
This procedure adds and new record into the database with the above data.
Procedure AddStopTime(CameraName:String;StartDate:Date;StartTime:Time;StopTime:Time);
This Procedure finds the record that is equal to the cameraname and startDate and starttime. Then updates the field StopTime with the StopTime.
Procedure AddMotionData(CameraName:String;StartDate:Date;StartTime:Time;MotionData:Array[0..29] of Integer);
This Procedure finds the record that is equal to the cameraname and startDate and starttime. Then updates the motion data with the 30 integers from MotionData[0-29].
Function FindOldestDate():Date
This function returns the oldestdate in the database;
Procedure DeleteDateData(DeleteDate:Date);
The procedure will make a TStringList of the FilePath for the selected Delete Date that is equal to StartDate.
Procedure DeleteDateRecords(DeleteDate:Date);
This procedure will delete all of the records in the table where the DeleteDate is equal to StartDate.
Procedure ListCameraNames
This procedure will make a TStringList of camera names by grouping together the field CameraName
Procedure ListDates
This procedure will make a TStringList of dates by grouping together the field StartDate
## Deliverables
Procedure ListFiles(CameraName:String; FindDate:Date);
This procedure will make a TStringList of FilePath that is equal to CameraName and FindDate/StartTime;
Please let me know if you have any questions.
Thanks......