Это первый раз, когда я работаю с Object Oriented C# в базе данных, поэтому я пытаюсь сделать логин для своей CRM-системы с параметризованным SQL-Query. Запрос проверяет, соответствуют ли текстовые поля «Username» и «Password» каким-либо записям в базе данных, и если это так, оно заполняет DataTable только для целей тестирования, чтобы увидеть, происходит ли какое-либо событие, но ничего не происходит, Da пуст все время ,Параметрированный вход в базу данных не работает
Вот код, который необходимо отправить текст из текстовых полей в параметризованный запрос, а затем в «Запросе метод выполнения»
private void bLoggaIn_Click(object sender, EventArgs e) { string sql = "SELECT * FROM Anvandare WHERE anvandarnamn = @anvandarnamn AND losenord = @losenord"; SqlCommand sqlCmd = new SqlCommand(sql); sqlCmd.Parameters.AddWithValue("@anvandarnamn", tbAnvandarnamn.Text.Trim().ToString()); sqlCmd.Parameters.AddWithValue("@losenord", tbLosenord.Text.Trim().ToString()); clsDB.ReadFromDatabase(sqlCmd); }
Это метод, который должен выполнить запрос к базе данных и затем верните 0, если нет совпадения, или 1, если есть совпадение, но на данный момент оно просто заполняет
DataTable
с соответствующей записью, только для целей тестирования, но это не работает,DataTable
всегда пуст, что означает, t найти совпадение.public static void ReadFromDatabase(SqlCommand sqlCmd) { try { if (!(anslutning.State == ConnectionState.Open)) anslutning.Open(); sqlCmd.Connection = anslutning; SqlDataAdapter sqlDa = new SqlDataAdapter(); sqlDa.SelectCommand = sqlCmd; DataTable dt = new DataTable(); sqlDa.Fill(dt); anslutning.Close(); } catch (SqlException undantag) { string felmeddelande = undantag.Message; } }
Так почему же она не работает? Я не понимаю, что это должно работать или я что-то пропустил?