public void UpdateNetwork(Network n) { try { //Create Progress Form FormProgress fp = new FormProgress(); //Create Query connection = new SQLiteConnection("Data Source=" + dbpath + ";Version=3; foreign keys=true;"); connection.Open(); command = new SQLiteCommand(connection); command.CommandText = "UPDATE network SET name=@name, inputtype=@inputtype WHERE networkNumber=@nnr ;"; command.Parameters.AddWithValue("@nnr", n.NetworkNumber); command.Parameters.AddWithValue("@name", n.Name); command.Parameters.AddWithValue("@inputtype", n.InputType); command.ExecuteNonQuery(); //drop old ip address connection to this network command.CommandText = "DELETE FROM networkipadress WHERE networkNumber=@nnr ;"; command.Parameters.AddWithValue("@nnr", n.NetworkNumber); //initialize Progress Form fp.SetMax(n.IpAddresses.Count); fp.Show(); //Add new ip-Addresses SQLiteTransaction transaction = connection.BeginTransaction(); foreach (IPAddress ip in n.IpAddresses) { try {//Write IP to table, if it is already there, throw exception command.CommandText = "INSERT INTO ipaddresses (ipaddress) VALUES(@ipaddress);"; command.Parameters.AddWithValue("@ipaddress", ip.ToString()); command.ExecuteNonQuery(); } catch (Exception e) { Log.WriteLog("Error writing IP to DB: " + e.Message); } try {//Connect ip to netwok in database command.CommandText = "INSERT INTO networkipadress (networkNumber, ipaddress) VALUES(@networkNumber, @ipaddress);"; command.Parameters.AddWithValue("@networkNumber", n.NetworkNumber); command.Parameters.AddWithValue("@ipaddress", ip.ToString()); command.ExecuteNonQuery(); } catch (Exception e) { Log.WriteLog("Error writing IP/NW to DB: " + e.Message); } fp.Progress(); } transaction.Commit(); Log.WriteLog(string.Format("Network {0} changed in database.", n.Name)); fp.Close(); } catch (Exception e) { MessageBox.Show("Error SQL Write Network", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Log.WriteLog(e.Message); } connection.Close(); }
public void SaveNetwork(Network n, NetworkInventory ni) { try { //Create Progress Form FormProgress fp = new FormProgress(); //Create Query connection = new SQLiteConnection("Data Source=" + dbpath + ";Version=3; foreign keys=true;"); connection.Open(); command = new SQLiteCommand(connection); command.CommandText = "INSERT INTO network (networkNumber, name, inputtype, networkInventoryNumber) VALUES(@networkNumber, @name, @inputtype, @networkInventoryNumber);"; command.Parameters.AddWithValue("@networkNumber", n.NetworkNumber); command.Parameters.AddWithValue("@name", n.Name); command.Parameters.AddWithValue("@inputtype", n.InputType); command.Parameters.AddWithValue("@networkInventoryNumber", ni.NetworkInventoryNumber); command.ExecuteNonQuery(); SQLiteTransaction transaction = connection.BeginTransaction(); //Initialize Progress Form fp.SetMax(n.IpAddresses.Count); fp.Show(); foreach (IPAddress ip in n.IpAddresses) { try {//Write IP to table, if it is already there, throw exception command.CommandText = "INSERT INTO ipaddresses (ipaddress) VALUES(@ipaddress);"; command.Parameters.AddWithValue("@ipaddress", ip.ToString()); command.ExecuteNonQuery(); //Log.WriteLog("IPAddress {0} saved to database", ip.ToString()); } catch (Exception e) { Log.WriteLog("Error writing IP to DB: " + e.Message); } try {//Connect ip to netwok in database command.CommandText = "INSERT INTO networkipadress (networkNumber, ipaddress) VALUES(@networkNumber, @ipaddress);"; command.Parameters.AddWithValue("@networkNumber", n.NetworkNumber); command.Parameters.AddWithValue("@ipaddress", ip.ToString()); command.ExecuteNonQuery(); //Log.WriteLog("IPaddress {0} connected to network {1} in database.", ip.ToString(), n.Name); } catch (Exception e) { Log.WriteLog("Error writing IP/NW to DB: " + e.Message); } fp.Progress(); } transaction.Commit(); Log.WriteLog(string.Format("Network {0} saved to database.", n.Name)); fp.Close(); } catch (Exception e) { MessageBox.Show("Error SQL Write Network", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Log.WriteLog(e.Message); } connection.Close(); }