Как мне получить данные из таблицы данных и поместить их в переменную в C #? - PullRequest
0 голосов
/ 12 мая 2019

У меня есть простое приложение для входа в систему здесь. Я хочу, чтобы он получил идентификатор данного имени пользователя и посмотрел, совпадает ли пароль с тем же идентификатором, чтобы узнать, должен ли он дать пользователю доступ или нет. Когда я получаю информацию из таблицы, в ней есть куча другой информации, которая мне не нужна. Как я могу уточнить это только значение в таблице? (В этом примере просто строка '

string id;
        string login;
        string password;

        string con = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\UserInfo.mdf;Integrated Security=True";
        //Connect to DB
        using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(con))
        {
            //Get ID
            id = connection.Query<string>($"select id from Users where Name = '{txtUsername.Text}'").ToString();
            MessageBox.Show(id);
        }

Когда я запускаю это, я хочу, чтобы в окне сообщения отображалось «1», но вместо этого оно говорит «System.Collections.Generic.List'1 [System.String]».

1 Ответ

1 голос
/ 12 мая 2019

Вы получаете ошибку, потому что метод Dapper Query возвращает IEnumerable, а не одно значение

  id = connection.Query<string>($"select id from Users where Name = '{txtUsername.Text}'").First();

или

id = connection.Query<string>($"select id from Users where Name = '{txtUsername.Text}'").Single();

попробуйте это

...