24小时热门版块排行榜    

查看: 2476  |  回复: 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的回帖
回帖置顶 ( 共有1个 )

nlyang

禁虫 (著名写手)

★ ★
感谢参与,应助指数 +1
conanwj: 金币+1, 专家考核, 感谢研讨 2012-05-31 13:31:36
cr153: 回帖置顶 2012-05-31 21:52:32
cr153: 金币+1, ★★★★★最佳答案, 成功实现了功能~感谢 2012-05-31 21:52:49
本帖内容被屏蔽

9楼2012-05-31 13:02:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

cr153

新虫 (初入文坛)

???????:
2?: Originally posted by chw521 at 2012-05-30 15:35:04
"select * from id_table where id=paper_id“ 改为 "select * from id_table where id=" + paper_id

????????????????
5楼2012-05-30 21:47:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cr153

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by bobobobo_8888 at 2012-05-30 16:44:14
int paper_id;
string paper_id;
                  cout<<"请输入ID"<<endl;
                  cin>>paper_id;
                  res=mysql_query(&myCont,"select *  ...

系统报错,重定义
6楼2012-05-30 21:48:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onluy

银虫 (小有名气)

【答案】应助回帖


conanwj: 金币+1, 应助指数+1, 感谢研讨 2012-05-31 13:31:15
首先你要看下在表id_table中属性列id的数据类型。
如果是字符串。
res=mysql_query(&myCont,"select * from id_table where id=‘" + paper_id+“’”);
也就是这个查询语句应该是3个字符串构成的
1、"select * from id_table where id=‘"
2、 paper_id
3、"'"
因为在sql语句中字符串要用单引号
天行健,君子以自强不息
7楼2012-05-30 23:02:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cr153

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by onluy at 2012-05-30 23:02:14
首先你要看下在表id_table中属性列id的数据类型。
如果是字符串。
res=mysql_query(&myCont,"select * from id_table where id=‘" + paper_id+“’”);
也就是这个查询语句应该是3个字符串构成的 ...

表中id的类型为int
8楼2012-05-31 11:20:18
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 cr153 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 05:13 by winsaint
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +9 Kittylucky 2026-08-27 9/450 2026-08-28 01:08 by jurkat.1640
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 XLGfUIdOmEAO 2026-08-27 3/150 2026-08-28 00:49 by 3RAFyYXYSwGS
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 范进中举一文的中心思想 +9 炎黄贵胄 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
信息提示
请填处理意见