免费注册 查看新帖 |

Chinaunix

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

C插入MYSQL [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-11 14:47 |只看该作者 |倒序浏览
#include <winsock.h>
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>

int main (int agrc,char * argc[])
{
MYSQL mysql,*sock;
char const *pszDomain = "wissip.com";
char const *pszUsername = "Kerry1";
char const *pszPassword = "123456";
unsigned int uUserId = 2;
char const *pszRealName = "flaght";
char szSql[256] ="";

mysql_init(&mysql);

if (!(sock = mysql_real_connect(&mysql,"localhost","root","123456","Mail",0,NULL,0)))
{
fprintf(stderr,"the database initialize failed :%s",mysql_error(&mysql));
}


   
    sprintf(szSql,"%u,\'%s\',\'%s\',\'%s\',\'%s\',\'U\'",uUserId,pszDomain,pszUsername,pszPassword,pszRealName);//id,域名,用户名,密码,真名,属性
    printf("%s",szSql);

  if (mysql_query(sock,"insert into mailusers(Userid,Domain,Username,Password,Realname,Att) VALUES(szsql)"))
{
  fprintf(stderr,"\nCreate User is Failed:%s",mysql_error(sock));
}

return (0);
}这是我的演示程序 但是运行时候就出出现:Create User is Failed:Column count doesn't match value count at row 1;
这是怎么回事?
如果把szsql显示出来的语句复制,然后写到insert into mailusers(Userid,Domain,Username,Password,Realname,Att) VALUES()里面,则数据可以正常插入。

论坛徽章:
0
2 [报告]
发表于 2009-02-11 14:59 |只看该作者
if (mysql_query(sock,"insert into mailusers(Userid,Domain,Username,Password,Realname,Att) VALUES(szsql)"))  这句话有问题,重点就在VALUES(szsql) , 很明显这里有一个低级错误。

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
3 [报告]
发表于 2009-02-11 15:02 |只看该作者
"insert into mailusers(Userid,Domain,Username,Password,Realname,Att) VALUES(szsql)"

===>
c++可以这么连:
string str;
str = str + "insert into mailusers(Userid, Domain, Username, Password, Realname , Att) values("  + szsql + ")";


c:
再用sprintf把insert into mailusers(Userid, Domain, Username, Password, Realname , Att) values(  和 szsql连到一起。

你那么写根本没有把szsql展开。

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
4 [报告]
发表于 2009-02-11 15:08 |只看该作者
真不知道lz为什么那样写

论坛徽章:
0
5 [报告]
发表于 2009-02-11 15:15 |只看该作者
汗啊,这样写

论坛徽章:
0
6 [报告]
发表于 2009-02-11 17:07 |只看该作者
楼主需要的是在好好学习一下C语言
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP