我正在尝试使用串行主键将一行插入到 PostgreSQL 表中,并且我需要在插入后检索该列。我得到了这样的东西:
“pais”表有3列: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”值为空。如果我用 nexval('table_sequence') 插入也返回 null。
知道如何返回表的 id 吗?我错过了什么吗?
提前致谢