注册 登录
编程论坛 C语言论坛

devc++与SQL Server ODBC连接

f2313660764 发布于 2019-06-29 00:27, 3129 次点击
ret=SQLExecDirect(kinghstmt,(SQLCHAR *)"SELECT * FROM Book where Bname=‘’",SQL_NTS);

如果想要实现条件语句查询  where语句应该要怎么写
后面的条件用什么形式来写
7 回复
#2
深秋20152019-06-29 10:49
根据你的需求写啊,看你什么需求了
#3
f23136607642019-06-29 14:36
回复 2楼 深秋2015
比如说
char bname[];
scanf("%s",&bname);
select * from book  where Bname='bname'?
这样写是不对的,我的意思是怎么能把我输入的这个字符串,传进那个sql语句里。
大哥你会的话,希望帮下忙,挺急的
#4
吹水佬2019-06-30 05:01
看似是:"select * from book  where Bname='" + bname + "'"
#5
f23136607642019-06-30 10:02
回复 4楼 吹水佬
谢谢大哥,但这样写的话编译都是错的,您看您了解吗
ret=SQLExecDirect(kinghstmt,(SQLCHAR *)"SELECT * FROM Book where Bname='"+ bname +"'",SQL_NTS);
[Error] invalid operands of types 'SQLCHAR* {aka unsigned char*}' and 'char [50]' to binary 'operator+'
#6
吹水佬2019-06-30 10:20
回复 5楼 f2313660764
"select * from book  where Bname='" + bname + "'" 不是语句,是用来描述几个字符串的先后连接。
#7
吹水佬2019-06-30 10:41
回复 3楼 f2313660764
这样试试看:
    char cmd[1024], bname[256];
    scanf("%s", bname);
    sprintf(cmd, "SELECT * FROM Book where Bname='%s'\0", bname);
    ret = SQLExecDirect(kinghstmt, (SQLCHAR *)cmd, SQL_NTS);
#8
f23136607642019-06-30 11:15
回复 7楼 吹水佬
这样好像可以诶
跪谢大佬了
1