command = new NpgsqlCommand("SELECT * FROM account", conn);
dr = command.ExecuteReader();
while(dr.Read())
{
if ((dr["user"].ToString() == Login1.UserName) && (dr["password"].ToString() == Login1.Password))
{
if (String.IsNullOrEmpty(dr["log"].ToString())) liczba_logowan = 0;
else liczba_logowan = Convert.ToInt32(dr["log"]);
logon = true;
}
}
Sekwencyjnie czytasz wiersze z tabeli po to, aby znaleźć w nich pasujący rekord? Dlaczego nie użyjesz WHERE
?
Pomijam już fakt, że przechowywanie hasła w bazie jako czysty napis jest po prostu niebezpieczne.
string insert="UPDATE account SET log=" + (liczba_logowan++).ToString() + " WHERE user='"+Login1.UserName+"' ";
Skoro log
jest typem napisowym, to pewno jego wartość trzeba podać w apostrofach, a Ty tego nie robisz.