У меня проблема с извлечением данных из базы данных SQL.
У меня просто есть таблица только с одной записью (ID) 1 (пользователь) admin (пароль) 123456. Когда я использую SELECT * FROM users
, моя таблица данных содержит эту запись, но когда я использую SELECT * FROM users WHERE user = 'admin' and password = '123456'
, моя итоговая таблица данных пуста.Оба поля varchar (50) в базе данных.
Вот так выглядит мой код прямо сейчас, чтобы иметь возможность проверить мои учетные данные
connection = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\SAVIC\ONEDRIVE\DOCUMENTE\USERSDATABASE.MDF;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;Authentication='Active Directory Integrated';ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
SqlDataAdapter adapter = new SqlDataAdapter("Select * from users", connection);
DataTable dt = new DataTable();
adapter.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
if(dt.Rows[i][1].ToString() == userBox.Text && dt.Rows[i][2].ToString() == pwdBox.Text)
{
this.Hide();
MainMenu main = new MainMenu(this);
main.Show();
} else
{
MessageBox.Show("Wrong username or password!", "Wrong credentials", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
}
}
Я ожидаю вывод SELECT * FROM users WHERE user = 'admin' and password = '123456'
быть фактической записью, соответствующей этим условиям.Все значения из базы данных разделены пробелами, а имена полей совпадают с теми, которые использовались в запросе.