직렬 기본 키가있는 PostgreSQL 테이블에 행을 삽입하려고하는데 삽입 한 후이 열을 검색해야합니다. 나는 다음과 같은 것을 얻었습니다.ExecuteScalar를 사용하여 삽입 할 때 Npgsql을 사용하여 일련 ID 검색
"pais"테이블은 id, pais, capital; id는 직렬 열이며 기본 키입니다.
NpgsqlCommand query = new NpgsqlCommand("insert into pais(nombre, capital) values(@nombre, @capital)", conn);
query.Parameters.Add(new NpgsqlParameter("nombre", NpgsqlDbType.Varchar));
query.Parameters.Add(new NpgsqlParameter("capital", NpgsqlDbType.Varchar));
query.Prepare();
query.Parameters[0].Value = this.textBox1.Text;
query.Parameters[1].Value = this.textBox2.Text;
Object res = query.ExecuteScalar();
Console.WriteLine(res);
테이블에 행을 삽입하지만 "res"값은 null입니다. nexval ('table_sequence')과 함께 삽입하면 null도 반환됩니다.
테이블의 ID를 어떻게 반환 할 수 있습니까? 내가 놓친 게 있니?
미리 감사드립니다.
스칼라로 반환 할 값을 "선택"하는 쿼리를 읽지 않습니까? –