//Insert a new record. Primary key must not be in table already. public void InsertNodeRecord(Node.PC n1) { string sql = "INSERT INTO nodes (UniqueId, Name, Ip, Mac, MaxBackupCapacity," + " BackupData, NonBackupData, FreeSpace, TotalCapacity," + " ReliabilityMetric, Hops, Smart, BackupsFailed, BackupsPassed, Trusted)" + " VALUES (@pUniqueId, @pName, @pIp, @pMac, @pMaxBackupCapacity, @pBackupData, @pNonBackupData, @pFreeSpace," + " @pTotalCapacity, @pReliabilityMetric, @pHops, @pSmart, @pBackupsFailed, @pBackupsPassed, @pTrusted)"; SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.Parameters.Add(new SQLiteParameter("@pUniqueId", n1.uniqueId.ToString())); cmd.Parameters.Add(new SQLiteParameter("@pName", n1.name)); cmd.Parameters.Add(new SQLiteParameter("@pIp", n1.ip)); cmd.Parameters.Add(new SQLiteParameter("@pMac", n1.mac)); cmd.Parameters.Add(new SQLiteParameter("@pMaxBackupCapacity", n1.maxBackupCapacity)); cmd.Parameters.Add(new SQLiteParameter("@pBackupData", n1.backupData)); cmd.Parameters.Add(new SQLiteParameter("@pNonBackupData", n1.nonBackupData)); cmd.Parameters.Add(new SQLiteParameter("@pFreeSpace", n1.freeSpace)); cmd.Parameters.Add(new SQLiteParameter("@pTotalCapacity", n1.totalCapacity)); cmd.Parameters.Add(new SQLiteParameter("@pReliabilityMetric", n1.reliablityMetric)); cmd.Parameters.Add(new SQLiteParameter("@pHops", n1.hops)); cmd.Parameters.Add(new SQLiteParameter("@pSmart", n1.smart)); cmd.Parameters.Add(new SQLiteParameter("@pBackupsFailed", n1.backupsFailed)); cmd.Parameters.Add(new SQLiteParameter("@pBackupsPassed", n1.backupsPassed)); cmd.Parameters.Add(new SQLiteParameter("@pTrusted", n1.trusted)); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }
//Update a node. Table unchanged if UniqueId is not present, table unchanged. public void UpdateNodeRecord(Node.PC n1) { string sql = "UPDATE nodes SET Name = @pName, Ip = @pIp, MAC = @pMac, MaxBackupCapacity = @pMaxBackupCapacity," + " BackupData = @pBackupData, NonBackupData = @pNonBackupData, FreeSpace = @pFreeSpace, TotalCapacity = @pTotalCapacity" + " WHERE UniqueID = @pUniqueID"; SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.Parameters.Add(new SQLiteParameter("@pUniqueId", n1.uniqueId.ToString())); cmd.Parameters.Add(new SQLiteParameter("@pName", n1.name)); cmd.Parameters.Add(new SQLiteParameter("@pIp", n1.ip)); cmd.Parameters.Add(new SQLiteParameter("@pMac", n1.mac)); cmd.Parameters.Add(new SQLiteParameter("@pMaxBackupCapacity", n1.maxBackupCapacity)); cmd.Parameters.Add(new SQLiteParameter("@pBackupData", n1.backupData)); cmd.Parameters.Add(new SQLiteParameter("@pNonBackupData", n1.nonBackupData)); cmd.Parameters.Add(new SQLiteParameter("@pFreeSpace", n1.freeSpace)); cmd.Parameters.Add(new SQLiteParameter("@pTotalCapacity", n1.totalCapacity)); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }