البته به نظر من کد شما رو میشه کمی روانتر اجرا کرد .
using System.Data.SqlClient;
namespace LoginTrain4
{
public partial class Form1 : Form
{
private string connectionString = @"Data Source=(local);Initial Catalog=TestNo1ForLogin";
public Form1()
{
InitializeComponent();
}
private async void BtnLogin_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrWhiteSpace(txtUsername.Text) || string.IsNullOrWhiteSpace(txtPassword.Text))
{
MessageBox.Show("Enter Data !");
return;
}
int count = await CheckAuthenticationAsync(txtUsername.Text, txtPassword.Text);
if (count > 0)
{
Form2 frm2 = new Form2();
frm2.Show();
}
else
{
MessageBox.Show("No Authentication !");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private async Task<int> CheckAuthenticationAsync(string username, string password)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
await connection.OpenAsync();
using (SqlCommand command = new SqlCommand("SELECT COUNT(*) FROM table WHERE UserName=@UserName AND Password=@Password", connection))
{
command.Parameters.AddWithValue("@UserName", username);
command.Parameters.AddWithValue("@Password", password);
return (int)await command.ExecuteScalarAsync();
}
}
}
}
}