Задать вопрос
@crescent

Npgsql возвращает пустоту?

sql = $"insert into users(id, name, age) VALUES(@id, @name, @age)";
                var cmd = new NpgsqlCommand(sql, conn);

                cmd.Parameters.AddWithValue("@id", u.id);
                cmd.Parameters.AddWithValue("@name", u.name);
                cmd.Parameters.AddWithValue("@age", u.age);

                var result = cmd.ExecuteScalar();


в result постоянно пусто хоть в бл все нормально приходит
что не так??
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
Постгрес не возвращает количество задетых строк в инсерте, как это делают некоторые другие СУБД.

Вот что предлагают на stackoverflow:
https://stackoverflow.com/questions/4038616/get-co... - это вариант, если ты хочешь использовать ExecuteScalar

Npgsql предлагает использовать метод ExecuteNonQuery, который возвращает количество задетых строк:
https://www.npgsql.org/doc/api/Npgsql.NpgsqlComman...

Если ты хочешь получить не количество задетых строк, а саму вставленную строку, то можно попробовать так:
https://stackoverflow.com/questions/2944297/postgr...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы