@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 постоянно пусто хоть в бл все нормально приходит
что не так??
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Постгрес не возвращает количество задетых строк в инсерте, как это делают некоторые другие СУБД.

Вот что предлагают на 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...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы