有关Berkeley DB的一点问题,请大家帮忙啊
用Berkeley DB作数据库,在往表中添加数据时,需要使用Dbt数据结构,Dbt.set_data()参数如果放字符串,那么程序就正常,如果放字符串指针,运行就不正常,哪位帮忙解决下,具体代码如下。
LPTSTR ptr1,ptr2;
ptr1 = (LPTSTR)wParam;
ptr2 = (LPTSTR)lParam;
Dbt db_Key;
Dbt db_Data;
db_Key.set_data(ptr1);
db_Key.set_size(sizeof(*ptr1));
db_Data.set_data(ptr2);
db_Data.set_size(sizeof(*ptr2));
// db_Key.set_data("game");
// db_Key.set_size(sizeof("game"));
// db_Data.set_data("basket");
// db_Key.set_size(sizeof("basket"));
database.put(NULL,&db_Key,&db_Data,NOOVERWRITE);
如果用上面的代码,那么输入数据时,即使重复输入数据也不报错,但如果用注释掉的部分代码,那么就会弹出错误信息。