nu vet jag inte riktigt hur du lagt upp det hela, men det ser ju ut som att man loggar in genom att ange sitt användar-id och lösenord. stämmer det?
du skulle ju kunna köra en Count(*) för att se hur många rader som matchar parametrarna du anger.
ex (som använder first_name och inte golf_id. ändra om jag missuppfattat ditt upplägg):
public bool CheckIfUserExist(string username, string password)
{
const string sql = "SELECT COUNT(*) FROM member WHERE first_name = :valuea AND password = :valueb";
using (var connection = new NpgsqlConnection(connString))
using (var command = new NpgsqlCommand(sql, connection))
{
command.Parameters.Add(":valuea", NpgsqlDbType.Varchar, 30).Value = username;
command.Parameters.Add(":valueb", NpgsqlDbType.Varchar, 15).Value = password;
command.Connection.Open();
return (int)command.ExecuteScalar() == 1;
// Observera att detta returnerar false om det är flera användare med samma first_name och password.
}
}
Ang using:
Kompilatorn omvandlar using till lite annan kod kan man säga.
// detta...
using (var connection = new NpgsqlConnection(connString))
{
// Do Stuff...
}
// blir typ detta...
{
NpgsqlConnection connection = null;
try
{
connection = new NpgsqlConnection(connString);
// Do Stuff...
}
finally
{
connection.Dispose(); // som internt kör connection.Close() om det behövs.
}
}
// här är connection utanför scope och "finns" inte längre och Dispose() har körts.