double buff = (double )inventoryData.getPrice();
size_t size = sizeof(double)+1;
Dbt key(&buff, (u_int32_t)size);
buff = inventoryData.getBuffer();
size = inventoryData.getBufferSize();
Dbt data(buff, (u_int32_t)size);
inventoryDB.getDb().put(NULL, &key, &data, 0);
The constructor must be Dbt:

bt (const Dbt&) or (void *)
but why I saw an example from sleepycat's manual which does this pg 20
of C++ reference manual
float money = 122.45;
char *description = "Grocery bill."
Dbt key(&money, sizeof(float));
Dbt data (description, strlen (description)+1);
Thanks
Jack