检查表中是否没有值..help..please(Mysql + C)

时间:2011-09-19 13:40:25

标签: mysql c

我的目的是在用户插入不在表格中的值时警告用户。

表:

For_Sconti  |    Cat_Sconti    |  Sconto 

  7148               A1          451.00

有人巧妙地建议使用mysql_affected_rows()函数。

因为它可以在发布更新语句时使用,所以我试图理解它是如何工作的但无济于事。

这是我使用的代码:

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’

有人可以帮忙摆脱困境吗?

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

  1. 您已生成更新语句,但您没有执行它。您需要使用mysql_query()

  2. 执行更新语句
  3. 您需要将mysql连接句柄结构(MYSQL *)作为参数传递给mysql_affected_rows()

    char *stmt = "UPDATE products SET cost=cost*1.25 WHERE group=10"; mysql_query(&mysql,stmt); printf("%ld products updated", (long) mysql_affected_rows(&mysql));

  4. 参考文献:

    1. http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html