检查值是否不在表中..帮助..请(Mysql+;C)
我的目的是在用户插入不在表中的值时发出警告 表:检查值是否不在表中..帮助..请(Mysql+;C),mysql,c,Mysql,C,我的目的是在用户插入不在表中的值时发出警告 表: For_Sconti | Cat_Sconti | Sconto 7148 A1 451.00 有人巧妙地建议使用mysql\u impacted\u rows()函数 因为它可以在发出update语句时使用,所以我试图理解它是如何工作的,但没有用 以下是我使用的代码: memset(query, 0, 200); strcat(query, "UPD
For_Sconti | Cat_Sconti | Sconto
7148 A1 451.00
有人巧妙地建议使用mysql\u impacted\u rows()函数
因为它可以在发出update语句时使用,所以我试图理解它是如何工作的,但没有用
以下是我使用的代码:
memset(query, 0, 200);
strcat(query, "UPDATE Sconti SET ");
strcat(query, "Sconto = '");
strcat(query, nuovo_sconto);
strcat(query, "' WHERE For_Sconti ='");
strcat(query, For_Sconti);
strcat(query, "' AND Cat_Sconti='");
strcat(query, Cat_Sconti);
strcat(query, "';");
if ( (mysql_affected_rows()) == 0 )
printf("Warning you tried to modify non existent record\n" );
这是我收到的错误消息:
2.0.c: In function ‘modifica_sconto’:
2.0.c:330: error: too few arguments to function ‘mysql_affected_rows’
有人能帮你摆脱困境吗
我们将非常感谢您的帮助
char*stmt=“更新产品集成本=成本*1.25
其中组=10”;
mysql\u查询(&mysql,stmt);
printf(“%ld个产品已更新”,(长)mysql\u受影响的行(&mysql))代码>
维拉,看来你并不是在执行这个陈述,是吗?我看到的只是一堆字符串连接。这实际上是一个更新语句…当然,上面几行我得到了每个记录的值..我错了吗?我解决了问题…在查询之后,我使用result=mysql\u store\u result(conn);num_rows=mysql_num_rows(结果);如果num_rows大于0,则用户的输入在表中,否则警告将阻止任何其他操作。。