24小时热门版块排行榜    

查看: 1569  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cr153

新虫 (初入文坛)

[求助] C++调用mysql,想完成一个如下的查询,却查询失败。急求解决方法

case 3:     int paper_id;
                  cout<<"请输入ID"<                   cin>>paper_id;
                  res=mysql_query(&myCont,"select * from id_table where id=paper_id“);//查询



----------------------------------------------------------------------------------------------------
以上为局部代码
此功能很简单就是,用户输入想要查询的ID,然后数据库查询之后返回该ID的信息
问题好像是在代码中定义的int paper_id无法传入到mysql_query这个接口中
其实原因也很简单,整个SQL查询语句都在引号中,整个语句当作字符串。当然paper_id也当成了字符
  
  请问,想实现这个功能,应该怎么修改?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cr153

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by nlyang at 2012-05-31 13:02:01
int的话,就必须把int转成字符串,大概思路如下:
char * sql=new char;
memset(sql,'\0',100);
sprintf(sql,"select * from id_table where id=%d;",paper_id);
再执行sql,

如果还是不对,你就直 ...

跪谢啊~
刚才用您的代码试了一下,功能成功实现了~
我不是知识不太了解啊,压根就不了解,挂科生啊~....
这是明天要叫的大作业里的一部分
  再次感谢,好人一生平安~
10楼2012-05-31 21:52:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

chw521

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
"select * from id_table where id=paper_id“ 改为 "select * from id_table where id=" + paper_id
2楼2012-05-30 15:35:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wudao99

禁虫 (初入文坛)

感谢参与,应助指数 +1
本帖内容被屏蔽

3楼2012-05-30 16:37:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bobobobo_8888

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
int paper_id;
string paper_id;
                  cout<<"请输入ID"<                   cin>>paper_id;
                  res=mysql_query(&myCont,"select * from id_table where id=" + paper_id);//查询
4楼2012-05-30 16:44:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见