using System; using System.Collections.Generic; using System.Text; using System.Data.SqlServerCe; using System.Windows.Forms; using System.IO; using System.Data; namespace CrimeScene { class SQLDatabase { private string connStr; private SqlCeConnection connDB; private DataSet dataSet; private SqlCeDataAdapter dataAdapterScene, dataAdapterSceneLocation, dataAdapterIncident, dataAdapterIncidentLocation, dataAdapterVehicle, dataAdapterImage, dataAdapterStatement, dataAdapterWitness, dataAdapterWitnessLocation, dataAdapterUser, dataAdapterAction; public SQLDatabase() { this.connStr = @"Data Source = \Program Files\CrimeScene\CrimeScene.sdf"; this.connDB = new SqlCeConnection(); this.dataSet = new DataSet(); Connect(); InitializeDataObjects(); InitializeDataRelations(); } ~SQLDatabase() { Disconnect(); } public void Connect() { this.connDB.ConnectionString = connStr; this.connDB.Open(); } public void Disconnect() { // Clean up dataDapater command objects DisposeAdapter(this.dataAdapterScene); DisposeAdapter(this.dataAdapterSceneLocation); DisposeAdapter(this.dataAdapterIncident); DisposeAdapter(this.dataAdapterIncidentLocation); DisposeAdapter(this.dataAdapterWitness); DisposeAdapter(this.dataAdapterWitnessLocation); DisposeAdapter(this.dataAdapterVehicle); DisposeAdapter(this.dataAdapterUser); DisposeAdapter(this.dataAdapterImage); DisposeAdapter(this.dataAdapterAction); DisposeAdapter(this.dataAdapterStatement); this.connDB.Close(); this.connDB = null; } public void InitializeDataRelations() { DataRelation relation; // Scene 2 Scene location relation = new DataRelation( "scene2sceneLocation", dataSet.Tables["SCENE"].Columns["SCENE_ID"], dataSet.Tables["SCENE_LOCATION"].Columns["SCENE_ID"]); dataSet.Relations.Add(relation); // Scene 2 Incident relation = new DataRelation( "scene2incident", dataSet.Tables["SCENE"].Columns["SCENE_ID"], dataSet.Tables["INCIDENT"].Columns["SCENE_ID"]); dataSet.Relations.Add(relation); // Incident 2 Incident location relation = new DataRelation( "incident2incidentLocation", dataSet.Tables["INCIDENT"].Columns["INCIDENT_ID"], dataSet.Tables["INCIDENT_LOCATION"].Columns["INCIDENT_ID"]); dataSet.Relations.Add(relation); // Incident 2 Statement relation = new DataRelation( "incident2statement", dataSet.Tables["INCIDENT"].Columns["INCIDENT_ID"], dataSet.Tables["STATEMENT"].Columns["INCIDENT_ID"]); dataSet.Relations.Add(relation); // Witness 2 Statement relation = new DataRelation( "witness2statement", dataSet.Tables["WITNESS"].Columns["WITNESS_ID"], dataSet.Tables["STATEMENT"].Columns["WITNESS_ID"]); dataSet.Relations.Add(relation); // Witness 2 Witness location relation = new DataRelation( "witness2witnessLocation", dataSet.Tables["WITNESS"].Columns["WITNESS_ID"], dataSet.Tables["WITNESS_LOCATION"].Columns["WITNESS_ID"]); dataSet.Relations.Add(relation); // Incident 2 Vehicle relation = new DataRelation( "incident2vehicle", dataSet.Tables["INCIDENT"].Columns["INCIDENT_ID"], dataSet.Tables["VEHICLE"].Columns["INCIDENT_ID"]); dataSet.Relations.Add(relation); // Incident 2 Incident image relation = new DataRelation( "incident2incidentImage", dataSet.Tables["INCIDENT"].Columns["INCIDENT_ID"], dataSet.Tables["IMAGE"].Columns["INCIDENT_ID"]); dataSet.Relations.Add(relation); } public void InitializeDataObjects() { // Scenes this.dataAdapterScene = new SqlCeDataAdapter("SELECT * FROM SCENE", this.connDB); this.dataAdapterScene.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterScene.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterScene.InsertCommand.CommandText = @"INSERT INTO SCENE ([NAME], [DESCRIPTION], [DATE_TIME], [HOME_ID]) VALUES (@argName, @argDescription, @argDateTime, @argHomeId)"; this.dataAdapterScene.UpdateCommand.CommandText = @"UPDATE SCENE SET [NAME] = @argName, [DESCRIPTION] = @argDescription, [DATE_TIME] = @argDateTime, [HOME_ID] = @argHomeId WHERE [SCENE_ID] = @argSceneId"; this.dataAdapterScene.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterScene.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterScene.InsertCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterScene.InsertCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterScene.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterScene.UpdateCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterScene.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterScene.UpdateCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterScene.UpdateCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterScene.Fill(dataSet, "SCENE"); // Scene location this.dataAdapterSceneLocation = new SqlCeDataAdapter("SELECT * FROM SCENE_LOCATION", this.connDB); this.dataAdapterSceneLocation.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterSceneLocation.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterSceneLocation.InsertCommand.CommandText = @"INSERT INTO SCENE_LOCATION ([SCENE_ID], [NUMBER], [NAME], [STREET], [TOWN], [COUNTY], [POST_CODE], [HOME_ID]) VALUES (@argSceneId, @argNumber, @argName, @argStreet, @argTown, @argCounty, @argPostCode, @argHomeId)"; this.dataAdapterSceneLocation.UpdateCommand.CommandText = @"UPDATE SCENE_LOCATION SET [SCENE_ID] = @argSceneId, [NUMBER] = @argNumber, [NAME] = @argName, [STREET] = @argStreet, [TOWN] = @argTown, [COUNTY] = @argCounty, [POST_CODE] = @argPostCode, [HOME_ID] = @argHomeId WHERE [SCENE_LOCATION_ID] = @argSceneLocationId"; this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterSceneLocation.InsertCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argSceneLocationId", SqlDbType.Int, 4, "SCENE_LOCATION_ID"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterSceneLocation.UpdateCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterSceneLocation.Fill(dataSet, "SCENE_LOCATION"); // Incidents this.dataAdapterIncident = new SqlCeDataAdapter("SELECT * FROM INCIDENT", this.connDB); this.dataAdapterIncident.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterIncident.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterIncident.InsertCommand.CommandText = @"INSERT INTO INCIDENT ([SCENE_ID], [NAME], [DESCRIPTION], [HOME_ID]) VALUES (@argSceneId, @argName, @argDescription, @argHomeId)"; this.dataAdapterIncident.UpdateCommand.CommandText = @"UPDATE INCIDENT SET [SCENE_ID] = @argSceneId, [NAME] = @argName, [DESCRIPTION] = @argDescription, [HOME_ID] = @argHomeId WHERE [INCIDENT_ID] = @argIncidentId"; this.dataAdapterIncident.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterIncident.InsertCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterIncident.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterIncident.InsertCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterIncident.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterIncident.UpdateCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterIncident.UpdateCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterIncident.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterIncident.UpdateCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterIncident.Fill(dataSet, "INCIDENT"); // Incident location this.dataAdapterIncidentLocation = new SqlCeDataAdapter("SELECT * FROM INCIDENT_LOCATION", this.connDB); this.dataAdapterIncidentLocation.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterIncidentLocation.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterIncidentLocation.InsertCommand.CommandText = @"INSERT INTO INCIDENT_LOCATION ([INCIDENT_ID], [NUMBER], [NAME], [STREET], [TOWN], [COUNTY], [POST_CODE], [HOME_ID]) VALUES (@argIncidentId, @argNumber, @argName, @argStreet, @argTown, @argCounty, @argPostCode, @argHomeId)"; this.dataAdapterIncidentLocation.UpdateCommand.CommandText = @"UPDATE INCIDENT_LOCATION SET [INCIDENT_ID] = @argIncidentId, [NUMBER] = @argNumber, [NAME] = @argName, [STREET] = @argStreet, [TOWN] = @argTown, [COUNTY] = @argCounty, [POST_CODE] = @argPostCode, [HOME_ID] = @argHomeId WHERE [INCIDENT_LOCATION_ID] = @argIncidentLocationId"; this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterIncidentLocation.InsertCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argIncidentLocationId", SqlDbType.Int, 4, "INCIDENT_LOCATION_ID"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterIncidentLocation.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterIncidentLocation.Fill(dataSet, "INCIDENT_LOCATION"); // Witness this.dataAdapterWitness = new SqlCeDataAdapter("SELECT * FROM WITNESS", this.connDB); this.dataAdapterWitness.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterWitness.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterWitness.InsertCommand.CommandText = @"INSERT INTO WITNESS ([NAME], [DOB], [MOB_NUM], [HOME_NUM], [HOME_ID]) VALUES (@argName, @argDob, @argMobNum, @argHomeNum, @argHomeId)"; this.dataAdapterWitness.UpdateCommand.CommandText = @"UPDATE WITNESS SET [NAME] = @argName, [DOB] = @argDob, [MOB_NUM] = @argMobNum, [HOME_NUM] = @argHomeNum, [HOME_ID] = @argHomeId WHERE [WITNESS_ID] = @argWitnessId"; this.dataAdapterWitness.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterWitness.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterWitness.InsertCommand.Parameters.Add("@argDob", SqlDbType.NVarChar, 50, "DOB"); this.dataAdapterWitness.InsertCommand.Parameters.Add("@argMobNum", SqlDbType.NVarChar, 50, "MOB_NUM"); this.dataAdapterWitness.InsertCommand.Parameters.Add("@argHomeNum", SqlDbType.NVarChar, 50, "HOME_NUM"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argWitnessId", SqlDbType.Int, 4, "WITNESS_ID"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argDob", SqlDbType.NVarChar, 50, "DOB"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argMobNum", SqlDbType.NVarChar, 50, "MOB_NUM"); this.dataAdapterWitness.UpdateCommand.Parameters.Add("@argHomeNum", SqlDbType.NVarChar, 50, "HOME_NUM"); this.dataAdapterWitness.Fill(dataSet, "WITNESS"); // Witness location this.dataAdapterWitnessLocation = new SqlCeDataAdapter("SELECT * FROM WITNESS_LOCATION", this.connDB); this.dataAdapterWitnessLocation.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterWitnessLocation.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterWitnessLocation.InsertCommand.CommandText = @"INSERT INTO WITNESS_LOCATION ([WITNESS_ID], [NUMBER], [NAME], [STREET], [TOWN], [COUNTY], [POST_CODE], [HOME_ID]) VALUES (@argWitnessId, @argNumber, @argName, @argStreet, @argTown, @argCounty, @argPostCode, @argHomeId)"; this.dataAdapterWitnessLocation.UpdateCommand.CommandText = @"UPDATE WITNESS_LOCATION SET [WITNESS_ID] = @argWitnessId, [NUMBER] = @argNumber, [NAME] = @argName, [STREET] = @argStreet, [TOWN] = @argTown, [COUNTY] = @argCounty, [POST_CODE] = @argPostCode, [HOME_ID] = @argHomeId WHERE [WITNESS_LOCATION_ID] = @argWitnessLocationId"; this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argWitnessId", SqlDbType.Int, 4, "WITNESS_ID"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterWitnessLocation.InsertCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argWitnessLocationId", SqlDbType.Int, 4, "WITNESS_LOCATION_ID"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argWitnessId", SqlDbType.Int, 4, "WITNESS_ID"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argNumber", SqlDbType.NVarChar, 50, "NUMBER"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argName", SqlDbType.NVarChar, 50, "NAME"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argStreet", SqlDbType.NVarChar, 50, "STREET"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argTown", SqlDbType.NVarChar, 50, "TOWN"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argCounty", SqlDbType.NVarChar, 50, "COUNTY"); this.dataAdapterWitnessLocation.UpdateCommand.Parameters.Add("@argPostCode", SqlDbType.NVarChar, 50, "POST_CODE"); this.dataAdapterWitnessLocation.Fill(dataSet, "WITNESS_LOCATION"); // Vehicles this.dataAdapterVehicle = new SqlCeDataAdapter("SELECT * FROM VEHICLE", this.connDB); this.dataAdapterVehicle.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterVehicle.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterVehicle.InsertCommand.CommandText = @"INSERT INTO VEHICLE ([INCIDENT_ID], [REGISTRATION], [MAKE], [MODEL], [HOME_ID]) VALUES (@argIncidentId, @argRegistration, @argMake, @argModel, @argHomeId)"; this.dataAdapterVehicle.UpdateCommand.CommandText = @"UPDATE VEHICLE SET [INCIDENT_ID] = @argIncidentId, [REGISTRATION] = @argRegistration, [MAKE] = @argMake, [MODEL] = @argModel, [HOME_ID] = @argHomeId WHERE [VEHICLE_ID] = @argVehicleId"; this.dataAdapterVehicle.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterVehicle.InsertCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterVehicle.InsertCommand.Parameters.Add("@argRegistration", SqlDbType.NVarChar, 50, "REGISTRATION"); this.dataAdapterVehicle.InsertCommand.Parameters.Add("@argMake", SqlDbType.NVarChar, 50, "MAKE"); this.dataAdapterVehicle.InsertCommand.Parameters.Add("@argModel", SqlDbType.NVarChar, 50, "MODEL"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argVehicleId", SqlDbType.Int, 4, "VEHICLE_ID"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argRegistration", SqlDbType.NVarChar, 50, "REGISTRATION"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argMake", SqlDbType.NVarChar, 50, "MAKE"); this.dataAdapterVehicle.UpdateCommand.Parameters.Add("@argModel", SqlDbType.NVarChar, 50, "MODEL"); this.dataAdapterVehicle.Fill(dataSet, "VEHICLE"); // Image this.dataAdapterImage = new SqlCeDataAdapter("SELECT * FROM IMAGE", this.connDB); this.dataAdapterImage.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterImage.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterImage.DeleteCommand = this.connDB.CreateCommand(); this.dataAdapterImage.InsertCommand.CommandText = @"INSERT INTO IMAGE ([INCIDENT_ID], [IMAGE_PATH], [IMAGE_DATA], [HOME_ID]) VALUES (@argIncidentId, @argImagePath, @argImageData, @argHomeId)"; this.dataAdapterImage.UpdateCommand.CommandText = @"UPDATE IMAGE SET [INCIDENT_ID] = @argIncidentId, [IMAGE_PATH] = @argImagePath, [IMAGE_DATA] = @argImageData, [HOME_ID] = @argHomeId WHERE [IMAGE_ID] = @argImageId"; this.dataAdapterImage.DeleteCommand.CommandText = @"DELETE FROM IMAGE WHERE [IMAGE_ID] = @argImageId"; this.dataAdapterImage.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterImage.InsertCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterImage.InsertCommand.Parameters.Add("@argImagePath", SqlDbType.NVarChar, 100, "IMAGE_PATH"); this.dataAdapterImage.InsertCommand.Parameters.Add("@argImageData", SqlDbType.Image, 0, "IMAGE_DATA"); this.dataAdapterImage.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterImage.UpdateCommand.Parameters.Add("@argImageId", SqlDbType.Int, 4, "IMAGE_ID"); this.dataAdapterImage.UpdateCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterImage.UpdateCommand.Parameters.Add("@argImagePath", SqlDbType.NVarChar, 100, "IMAGE_PATH"); this.dataAdapterImage.UpdateCommand.Parameters.Add("@argImageData", SqlDbType.Image, 0, "IMAGE_DATA"); this.dataAdapterImage.DeleteCommand.Parameters.Add("@argImageId", SqlDbType.Int, 4, "IMAGE_ID"); this.dataAdapterImage.Fill(dataSet, "IMAGE"); // Statement this.dataAdapterStatement = new SqlCeDataAdapter("SELECT * FROM STATEMENT", this.connDB); this.dataAdapterStatement.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterStatement.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterStatement.InsertCommand.CommandText = @"INSERT INTO STATEMENT ([INCIDENT_ID], [WITNESS_ID], [DATE_TIME], [STATEMENT], [HOME_ID]) VALUES (@argIncidentId, @argWitnessId, @argDateTime, @argStatement, @argHomeId)"; this.dataAdapterStatement.UpdateCommand.CommandText = @"UPDATE STATEMENT SET [INCIDENT_ID] = @argIncidentId, [WITNESS_ID] = @argWitnessId, [DATE_TIME] = @argDateTime, [STATEMENT] = @argStatement, [HOME_ID] = @argHomeId WHERE [STATEMENT_ID] = @argStatementId"; this.dataAdapterStatement.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterStatement.InsertCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterStatement.InsertCommand.Parameters.Add("@argWitnessId", SqlDbType.Int, 4, "WITNESS_ID"); this.dataAdapterStatement.InsertCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterStatement.InsertCommand.Parameters.Add("@argStatement", SqlDbType.NVarChar, 500, "STATEMENT"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argStatementId", SqlDbType.Int, 4, "STATEMENT_ID"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argIncidentId", SqlDbType.Int, 4, "INCIDENT_ID"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argWitnessId", SqlDbType.Int, 4, "WITNESS_ID"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterStatement.UpdateCommand.Parameters.Add("@argStatement", SqlDbType.NVarChar, 500, "STATEMENT"); this.dataAdapterStatement.Fill(dataSet, "STATEMENT"); // Users this.dataAdapterUser = new SqlCeDataAdapter("SELECT * FROM USERS", this.connDB); this.dataAdapterUser.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterUser.InsertCommand.CommandText = @"INSERT INTO USERS ([USER_NUMBER], [USER_PASSWORD]) VALUES (@argUserNumber, @argUserPassword)"; this.dataAdapterUser.InsertCommand.Parameters.Add("@argUserNumber", SqlDbType.NVarChar, 50, "USER_NUMBER"); this.dataAdapterUser.InsertCommand.Parameters.Add("@argUserPassword", SqlDbType.NVarChar, 50, "USER_PASSWORD"); this.dataAdapterUser.Fill(dataSet, "USERS"); // Actions this.dataAdapterAction = new SqlCeDataAdapter("SELECT * FROM ACTION", this.connDB); this.dataAdapterAction.InsertCommand = this.connDB.CreateCommand(); this.dataAdapterAction.UpdateCommand = this.connDB.CreateCommand(); this.dataAdapterAction.InsertCommand.CommandText = @"INSERT INTO ACTION ([SCENE_ID], [USER_ID], [DATE_TIME], [DESCRIPTION], [HOME_ID]) VALUES (@argSceneId, @argUserId, @argDateTime, @argDescription, @argHomeId)"; this.dataAdapterAction.UpdateCommand.CommandText = @"UPDATE ACTION SET [SCENE_ID] = @argSceneId, [USER_ID] = @argUserId, [DATE_TIME] = @argDateTime, [DESCRIPTION] = @argDescription, [HOME_ID] = @argHomeId WHERE [ACTION_ID] = @argActionId"; this.dataAdapterAction.InsertCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterAction.InsertCommand.Parameters.Add("@argUserId", SqlDbType.Int, 4, "USER_ID"); this.dataAdapterAction.InsertCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterAction.InsertCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterAction.InsertCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argActionId", SqlDbType.Int, 4, "ACTION_ID"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argSceneId", SqlDbType.Int, 4, "SCENE_ID"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argUserId", SqlDbType.Int, 4, "USER_ID"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argDateTime", SqlDbType.NVarChar, 50, "DATE_TIME"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argDescription", SqlDbType.NVarChar, 500, "DESCRIPTION"); this.dataAdapterAction.UpdateCommand.Parameters.Add("@argHomeId", SqlDbType.Int, 4, "HOME_ID"); this.dataAdapterAction.Fill(dataSet, "ACTION"); } public SqlCeDataAdapter DisposeAdapter(SqlCeDataAdapter dbAdapter) { SqlCeCommand cmd = dbAdapter.SelectCommand; if (cmd != null) { cmd.Dispose(); } cmd = dbAdapter.InsertCommand; if (cmd != null) { cmd.Dispose(); } cmd = dbAdapter.UpdateCommand; if (cmd != null) { cmd.Dispose(); } cmd = dbAdapter.DeleteCommand; if (cmd != null) { cmd.Dispose(); } return null; } public SqlCeConnection Connection { get { return this.connDB; } set { this.connDB = value; } } public DataSet DataSet { get { return this.dataSet; } set { this.dataSet = value; } } public SqlCeDataAdapter SceneAdapter { get { return this.dataAdapterScene; } set { this.dataAdapterScene = value; } } public SqlCeDataAdapter SceneLocationAdapter { get { return this.dataAdapterSceneLocation; } set { this.dataAdapterSceneLocation = value; } } public SqlCeDataAdapter IncidentAdapter { get { return this.dataAdapterIncident; } set { this.dataAdapterIncident = value; } } public SqlCeDataAdapter IncidentLocationAdapter { get { return this.dataAdapterIncidentLocation; } set { this.dataAdapterIncidentLocation = value; } } public SqlCeDataAdapter VehicleAdapter { get { return this.dataAdapterVehicle; } set { this.dataAdapterVehicle = value; } } public SqlCeDataAdapter WitnessAdapter { get { return this.dataAdapterWitness; } set { this.dataAdapterWitness = value; } } public SqlCeDataAdapter WitnessLocationAdapter { get { return this.dataAdapterWitnessLocation; } set { this.dataAdapterWitnessLocation = value; } } public SqlCeDataAdapter IncidentImageAdapter { get { return this.dataAdapterImage; } set { this.dataAdapterImage = value; } } public SqlCeDataAdapter StatementAdapter { get { return this.dataAdapterStatement; } set { this.dataAdapterStatement = value; } } public SqlCeDataAdapter ActionAdapter { get { return this.dataAdapterAction; } set { this.dataAdapterAction = value; } } public SqlCeDataAdapter UserAdapter { get { return this.dataAdapterUser; } set { this.dataAdapterUser = value; } } } }