MFC使用Sqlite的小坑

    在使用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编码,一然会显示乱码。

你可能感兴趣的:(sqlite,mfc,数据库)