ADO写入数据库,一段老代码运行却报错——无法插入空行.行必须至少有一个列值集。搜索了下,有说关键字未赋值、Post()改UpdateBatch()等等。
改UpdateBatch()后,确实不报错了,但是查询数据库未发现写入记录。
换个结构类似表写入,却正常。无非是数据库字段定义问题了。
AT->TableName = "TemHum";
AT->Open();
AT->Append();
for (int i = 0; i < 16; i++)
AT->Fields->Fields[i + 2]->Value = nTemH[i];
AT->UpdateBatch();
AT->Close();
数据类型区别:一个是bigint,一个int。
将写入数据类型由自动匹配改为强制int后则运行正常:
AT->Fields->Fields[i + 2]->AsInteger = nTemH[i];
而此时也不管是否Post()还是UpdateBatch()了。