我有DataGridView
一个绑定到它的,从带有.NET 数据提供程序库DataTable
的数据库中填充。PostgreSQL
Npgsql
填充记录有效,但是当我只想将单个记录附加到已经存在DataTable
时,以前的记录就会消失:
NpgsqlDataAdapter npDataAdapterSingle = new NpgsqlDataAdapter("SELECT * from \"Weight\" ORDER BY id DESC LIMIT 1", this.npConnection);
DataTable tmpTable = new DataTable("tmpTable");
npDataAdapterSingle.Fill(tmpTable);
DSWeight.WeightRow row = this.dSWeight.Weight.NewWeightRow();
row.ItemArray = tmpTable.Rows[0].ItemArray;
this.dSWeight.Weight.Rows.InsertAt(row, 0); //Prepend, but i also tried this.dsWeight.Weight.Rows.Add(row);
如果我选择所有记录,没有LIMIT
'ing,那么它会按预期工作。但我想——如果我已经有了这些记录,为什么还要重新查询数据库?这就是我想要的原因LIMIT
。
也许还有另一种解决方案,因为我手动将新记录添加到数据库并查询它们以将它们添加到数据表,而不是它应该的方式:将新记录添加到数据表并将它们添加到数据库。我这样做是因为我希望数据库管理 id 和时间戳字段并让 datagridview 填充这些字段。
我错过了什么?