Хорошо, мой подсчет работает несколько, это означает, что при добавлении и удалении данных отображается правильное число.
Проблема в том, что, если я добавляю только 1 запись, мне показывается, что у меня есть 1 запись, но если я удаляю единственную запись, которая есть, мой счетчик по-прежнему показывает 1. Почему не 0?
Вот как я это делаю (поля, где я обновляю заголовки моей панели, находятся внизу):
public void DisplayFileContent(string filePath)
{
lvPC.Items.Clear();
lvWeb.Items.Clear();
lvSerialCode.Items.Clear();
string hashShortPass = hash.ShortHash(storedAuth.Password);
// Counting all entries.
int countEntries = 0;
int countPC = 0;
int countWeb = 0;
int countSerial = 0;
string connectionString =
@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0};
Persist Security Info=False; Jet OLEDB:Database Password={1};";
// Encrypting/Decrypting data.
Security security = new Security();
using (OleDbConnection connection = new OleDbConnection())
{
connection.ConnectionString = string.Format(connectionString, filePath, hashShortPass);
using (OleDbCommand command = new OleDbCommand
("Select * FROM PersonalData", connection))
{
try
{
// Open database connection.
connection.Open();
using (OleDbDataReader read = command.ExecuteReader())
{
// Checking if there is any data in the file.
if (read.HasRows)
{
// Reading information from the file.
while (read.Read())
{
// Count all entries read from the reader.
countEntries++;
if (security.DecryptAES(read.GetString(1),
storedAuth.Password, storedAuth.UserName)
== "PC Password")
{
// Count PC passwords.
countPC++;
PC.Tag = read.GetInt32(0);
lvPC.Items.Add(PC);
}
else if (security.DecryptAES(read.GetString(1),
storedAuth.Password, storedAuth.UserName)
== "Web Site Password")
{
countWeb++;
Web.Tag = read.GetInt32(0);
lvWeb.Items.Add(Web);
}
else if (security.DecryptAES(read.GetString(1),
storedAuth.Password, storedAuth.UserName)
== "Serial Code")
{
countSerial++;
Serial.Tag = read.GetInt32(0);
}
tabPage1.Text = "PC Passwords ( " + countPC + " )";
tabPage2.Text = "Web Site Passwords ( " + countWeb + " )";
tabPage3.Text = "Serial Codes ( " + countSerial + " )";
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}
}