有很熟悉sqlite接口的高手吗?(求查询row的完成语句)
小弟的C++是勉强大学时候的水平,最近帮爸爸写个简单的数据管理,问题请看:
//这里有很多string
string WuPing = "";
string TZ1 = "";
string TZ2 = "";
string TZ3 = "";
string TZ4 = "";
string BeiZhu = "";
string JieShi = "";
result = sqlite3_open( ".\\storehouse.db",&db);
if( result != SQLITE_OK )
{
//数据库打开失败
cout << "SQLITE_NO_OK" << endl;
return -1;
}
//先把表给创建了
result = sqlite3_exec(db,"create table wordlist
(id integer primary key autoincrement,
物品 varchar(15),特征一 varchar(50),特征二 varchar(50),特征三 varchar(50),特征四 varchar(50),
备注 varchar(150),解释 varchar(500));",0,0,&pErrMsg);
static char* insert_cmd
= "insert into storehouse(物品,特征一,特征二,特征三,特征四,备注,解释)
values ('%s','%s','%s','%s','%s','%s','%s');";
for (int i=0,i<j,i++)//熟悉的无法再熟悉的历遍循环
{
/*****************************/
//这里省略,大量地读取文本CVS字段成string,然后做字符串判断,再合并,替换,生成新的string等等等
/*****************************/
//很明显把这些结果都注入到一些string里了
char sql_cmd[99999];
sprintf_s(sql_cmd,insert_cmd,WuPing.data(),TZ1.data(),TZ2.data(),TZ3.data(),TZ4.data(),BeiZhu.data(),JieShi.data());
//把数据都注入到sqlite数据库文件里!
result = sqlite3_exec(db,sql_cmd,0,0,&pErrMsg);
}
//完事。
//关闭读入文件
InFile.close();
//关闭数据库
sqlite3_close(db);
分享到:
[解决办法]
更正:
column_names[x] 就是第 x 列的字符串.
是:
column_values[i] 才是值. column_names 是列名.
[解决办法]
有一个CppSqlite的,可以去使用这个,这个封装了sqlite的很多操作