免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3558 | 回复: 8
打印 上一主题 下一主题

c语言插入数据到mysql中的疑点? [复制链接]

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-29 16:54 |只看该作者 |倒序浏览

  1.     sprintf(query,"INSERT INTO  test1(name,gender) values ('bbn','M')");
  2.     if(mysql_query(&myData,query)!=0){  //执行插入语句
  3.      {
  4.        printf("insert data error");
  5.      }else
  6.      {
  7.           printf("insert data success");
  8.      }  
复制代码

提示:
D:\project\C\insertMySql.c: In function `main':
D:\project\C\insertMySql.c:41: error: syntax error before "else"
数据没有插入到数据表中。
//=============================
如果我改成:

  1. int a;
  2. sprintf(query,"INSERT INTO  test1(name,gender) values ('bbn','M')");
  3. a = mysql_query(&myData,query);
复制代码

数据就能够插入到数据表中!

请问这是什么原因??

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
2 [报告]
发表于 2008-12-29 17:19 |只看该作者
D:\project\C\insertMySql.c:41: error: syntax error before "else"

你第一个都没编译成功

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
3 [报告]
发表于 2008-12-29 17:22 |只看该作者
第一种编译不能通过,而第二种就可以。不知原因是什么?

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
4 [报告]
发表于 2008-12-29 17:34 |只看该作者

回复 #3 光速 的帖子

自己多调试。。再说你给的代码只是部分,我们很难从代码片段中找到问题。

论坛徽章:
0
5 [报告]
发表于 2008-12-29 17:39 |只看该作者
if(mysql_query(&myData,query)!=0){  //执行插入语句
     {
       printf("insert data error");
     }else


大括号不匹配啊。。。

评分

参与人数 1可用积分 +2 信誉积分 +4 收起 理由
samon_fu + 2 + 4 我很赞同。 本是直接加普通的分的,没 ...

查看全部评分

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
6 [报告]
发表于 2008-12-29 17:42 |只看该作者

  1. #include <stdio.h>
  2. #include <WinSock.h>
  3. #include <mysql.h>
  4. #include <mysql_com.h>
  5. #include <mysql_version.h>
  6. #include <my_alloc.h>
  7. main()
  8. {
  9. char mysqlServer[20] = "localhost";
  10. char query[300];
  11. MYSQL myData;
  12. MYSQL_FIELD *fd;

  13.     mysql_init(&myData);
  14.    //连接数据库mysql
  15.    if (!mysql_real_connect(&myData,"localhost", "root", "", "test",3306,NULL,0))
  16.     {
  17.     printf("connect mysql error!\n");
  18.     return 0;
  19.     }
  20.       sprintf(query,"INSERT INTO  test1(name,gender) values ('kbg','M')");
  21. if(mysql_query(&myData,query)!=0){  //执行插入语句
  22.      {
  23.        printf("insert data error");
  24.          
  25.      }else
  26.      {
  27.           printf("insert data success");
  28.      }  
  29.         
  30.     mysql_close(&myData);
  31. }
复制代码

论坛徽章:
0
7 [报告]
发表于 2008-12-29 17:45 |只看该作者
if(mysql_query(&myData,query)!=0){  //执行插入语句
    {
       printf("insert data error");
         
     }else
     {
          printf("insert data success");
    }  

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
8 [报告]
发表于 2008-12-29 18:17 |只看该作者

回复 #6 光速 的帖子


光看你楼顶的片段,我看出是少了个括号。。
但是你给的是片段,我又不敢确定,要是早给整个程序,多好啊。。

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
9 [报告]
发表于 2008-12-29 20:34 |只看该作者
原帖由 yangsf5 于 2008-12-29 18:17 发表

光看你楼顶的片段,我看出是少了个括号。。
但是你给的是片段,我又不敢确定,要是早给整个程序,多好啊。。

以后我提问一定给出全码!:wink:

[ 本帖最后由 光速 于 2008-12-29 20:40 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP