linux c中SQL数据库语句select查询时遇到问题,请大神告知下 10
scanf("%s",name);sprintf(sql_statement,"select*fromcontactwhereName='%s';",name);sqli...
scanf("%s", name);
sprintf(sql_statement, "select * from contact where Name = '%s' ; " , name);
sqlite3_exec(db, sql_statement, disp, NULL, &errmsg);
disp函数是正确的,把第一条语句换成sprintf(sql_statement, "select * from contact where Name = 'abc' ; ");后就可正常打印出来,但是用name去接收输入好像不对,求解 展开
sprintf(sql_statement, "select * from contact where Name = '%s' ; " , name);
sqlite3_exec(db, sql_statement, disp, NULL, &errmsg);
disp函数是正确的,把第一条语句换成sprintf(sql_statement, "select * from contact where Name = 'abc' ; ");后就可正常打印出来,但是用name去接收输入好像不对,求解 展开
1个回答
2015-08-23
展开全部
你是没有好好理解sprintf函数的功能。而且函数也不能这么写。
函数原型是:int sprintf( char *buffer, const char *format, [ argument] … );
参数:
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
%s是你的格式化字符串,你要输入数据的格式是什么,是int还是char或者其他的。。。你得选好格式
然后就是你要输入的参数是什么了。。。你好好理解下sprintf函数就明白了。
函数原型是:int sprintf( char *buffer, const char *format, [ argument] … );
参数:
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
%s是你的格式化字符串,你要输入数据的格式是什么,是int还是char或者其他的。。。你得选好格式
然后就是你要输入的参数是什么了。。。你好好理解下sprintf函数就明白了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询