在使用MFC时,要将数据导入Sqlite中在写sql语句时有一个小坑,写出来供感兴趣的朋友参考。
string temp;
char* ssql;
temp = “insert into mycd values (NULL, '” + m_n + “’ ,’” + m_w + “’ ,’” + m_l + “’ ,’” + m_d + “’ ,’” + m_s + “’ ,’” + m_b + “’)”;
ssql = (char*)temp.data(); //string 转char*
rc = sqlite3_exec(m_pDB, ssql, NULL, 0, &errmsg);
数据表的id为自增长,所以第一个参数为“NULL”。
sql语句是“insert into ....”,所以在参数的前后都要添加“'”,当然是英文符号,大家都知道的。如果这个单引号不匹配,数据不能正常导入数据库。
如果参数内容是中文,还要转为UTF-8编码,一然会显示乱码。