Как проверить, если пользовательский ввод хранится в базе данных sqlite - PullRequest
0 голосов
/ 08 января 2019

я делаю приложение на c #, которое позволяет пользователю регистрироваться и входить в систему, пока мне удалось завершить регистрацию, но я застрял с частью входа в систему

У меня есть метод с именем ExecuteQuery, который запрашивает через файл sqlite, в котором хранится информация о пользователе, и я не уверен, как проверить, совпадают ли данные, сохраненные в базе данных, с именем пользователя и паролем, введенными пользователем

это часть, которая предназначена для проверки правильности имени пользователя и пароля. Это часть, с которой я застрял

        if (File.Exists("Users.sqlite"))
        {

            string txtQuery = "select * from UserInfo where UserName ='"+ username + "' and Password  ='" + password + "'";
            mainClass.ExecuteQuery(txtQuery);

        } 

это мой метод, который запрашивает через базу данных

public void ExecuteQuery(string txtQuery)
    {
        SetConnection();
        sql_con.Open();
        sql_cmd = sql_con.CreateCommand();
        sql_cmd.CommandText = txtQuery;
        sql_cmd.ExecuteNonQuery();
        sql_con.Close();
    }

проблема в том, что я не уверен, как проверить, совпадают ли введенные пользователем данные пользователя и данные, хранящиеся в базе данных sqlite. имя моей базы данных sqlite - Users, а имя таблицы - UserInfo

1 Ответ

0 голосов
/ 08 января 2019

Вы выполняете не-запрос, выполняете не-запрос, не возвращая никаких данных, он просто выполняет запрос, вы используете его в обновлении, вставке, удалении и т. Д.

Чтобы вернуть результаты вашего запроса, используйте ExecuteQuery вместо ExecuteNonQuery. и сохраните результаты в переменной, а затем верните ее.

Пример:

public string ExecuteQuery(string txtQuery)
{
    SetConnection();
    sql_con.Open();
    var sql_cmd = sql_con.CreateCommand();
    sql_cmd.CommandText = txtQuery;
    var x = sql_cmd.ExecuteQuery();
    sql_con.Close();
return x;
}

и на главной странице:

 var result = mainClass.ExecuteQuery(txtQuery);

Результат будет включать ваш запрос, который в вашем случае будет информацией пользователя, если существует.

Пожалуйста, не забудьте пометить его как ответ и проголосовать. надеюсь, что я тебе помог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...