public void PreparedStatementWithParameters()
{
using (var conn = OpenConnection())
{
conn.ExecuteNonQuery("CREATE TEMP TABLE data (int INTEGER, long BIGINT)");
using (var command = new NpgsqlCommand("select * from data where int = :a and long = :b;", conn))
{
command.Parameters.Add(new NpgsqlParameter("a", DbType.Int32));
command.Parameters.Add(new NpgsqlParameter("b", DbType.Int64));
Assert.AreEqual(2, command.Parameters.Count);
Assert.AreEqual(DbType.Int32, command.Parameters[0].DbType);
command.Prepare();
command.Parameters[0].Value = 3;
command.Parameters[1].Value = 5;
using (var dr = command.ExecuteReader())
{
Assert.IsNotNull(dr);
}
}
}
}