C语言 如何将变量 插入mySQL数据库,mySQL C语言封装变量的问题 5
因为插入数据库的数值是一些变量,所以就考虑如何在插入语句中使用变量,网上搜到的是两种方法,一种生:“+a+”“+b+“这种方法试过,不成功,会报错。第二种方法是:用spr...
因为插入数据库的数值是一些变量,所以就考虑如何在插入语句中使用变量,网上搜到的是两种方法,一种生:“+a+” “+b+“ 这种方法试过,不成功,会报错。
第二种方法是:用sprintf() 函数将变量装成字符串,然后放入命令种,由于我的变量比较多(几十个),所以这种的话要开辟的临时空间比较大,我并不喜欢这样额外消耗内存的。
请问我应该怎么做呢? 我用的是C语言的,希望大家不要没有试过就随便乱贴其他语言的用法过来。 展开
第二种方法是:用sprintf() 函数将变量装成字符串,然后放入命令种,由于我的变量比较多(几十个),所以这种的话要开辟的临时空间比较大,我并不喜欢这样额外消耗内存的。
请问我应该怎么做呢? 我用的是C语言的,希望大家不要没有试过就随便乱贴其他语言的用法过来。 展开
3个回答
展开全部
假如用户输入的姓名和年龄值分别保存在变量name,age中:
char sql_insert[200];
sprintf(sql_insert, "INSERT INTO table values('%s','%d');", name, age);
mysql_query(&mysql_conn, sql_insert);
上述语句在执行完sprintf语句后,sql_insert中保存的是INSERT查询语句字符串,sql_insert作为mysql_query()语句的参数即可实现正确的插入。
char sql_insert[200];
sprintf(sql_insert, "INSERT INTO table values('%s','%d');", name, age);
mysql_query(&mysql_conn, sql_insert);
上述语句在执行完sprintf语句后,sql_insert中保存的是INSERT查询语句字符串,sql_insert作为mysql_query()语句的参数即可实现正确的插入。
展开全部
可以统一用一条 sprintf 语句:
int a, b;
char sql[BUFSIZ];
sprintf(sql, "insert into mytable values (%d, %d)", a, b);
追问
我说了尽量不用sprintf()方法,因为要多开辟一个数组的空间存放字符串,我插入的变量好几十个,每个变量几十字节,这样的话我就要开辟一个几百个字节的数组,内存消耗很大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-08-17
展开全部
第一种方法可以实现,你是不是少了单引号,应该是'"+a+"'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询