请问一下我在VC里面用Sqllite插入记录的问题:

请问一下我在VC里面用Sqllite的问题://"INSERTINTO[EC_Dict]([WordID],[Word],[YinBiao],[JieShi])VALUE... 请问一下我在VC里面用Sqllite的问题:
//"INSERT INTO [EC_Dict] ([WordID], [Word], [YinBiao], [JieShi]) VALUES ('m_WordNum','m_Word','m_YinBiao','m_ExPlain');",

"INSERT INTO [EC_Dict] ([WordID], [Word], [YinBiao], [JieShi]) VALUES (StrWordID,StrWord,StrYinBiao,StrJieShi);",

用上面的已经就可以,用下面的一句就不可以,其中:
strcpy(StrWordID,m_WordNum.GetBuffer(m_WordNum.GetLength()));
strcpy(StrWord,m_Word.GetBuffer(m_Word.GetLength()));
strcpy(StrYinBiao,m_YinBiao.GetBuffer(m_YinBiao.GetLength()));
strcpy(StrJieShi,m_ExPlain.GetBuffer(m_ExPlain.GetLength()));
也就是说,如果传字符串是可以的,传字符串变量就不可以了,如果要传字符串变量改怎么传?
谢谢大家的回答,现在又有新的问题:
sprintf(StrSql,"SELECT * FROM EC_Dict where %s = \'%s\';","WordID",StrWordID);
rc = sqlite3_exec(db, "BEGIN;", 0, 0, &zErrMsg);
rc = sqlite3_get_table( db , StrSql , &azResult , &nrow , &ncolumn , &zErrMsg );
无论查询是否成功rc都会返回SQLITE_OK,只是成功的时候azResult , nrow , ncolumn里可以读取正确的值
删除记录也是这样,请用过sqlite的大侠帮看看是怎么回事,谢谢,如果能解决问题,可以加分!
展开
 我来答
匿名用户
2011-04-01
展开全部
SQLited的insert语句如何插入变量收藏
用sprintf可以实现字符串的变换如下面程序例子:void thread(arg){
char buf[256];
char *sql2;
int data;
data=arg; sprintf(buf,"insert into\"f2store\" values(%d);",data);
sql2=buf;
sqlite3_exec(db,sql2,0,0,&zErrMsg);}
大概就是这样了!哈哈
百度网友de28292a0
2011-04-01 · TA获得超过733个赞
知道小有建树答主
回答量:667
采纳率:0%
帮助的人:773万
展开全部
char szSql[1024] = {0};
sprintf(szSql, "INSERT INTO [EC_Dict] ([WordID], [Word], [YinBiao], [JieShi]) VALUES (%s,%s, %s, %s,);", StrWordID,StrWord,StrYinBiao,StrJieShi);
再使用szSql即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式