如何使用Connector / C ++更新MySQL中的一行中的值

时间:2009-12-03 19:56:14

标签: c++ mysql mysql-connector

我有一个简单的数据库,想要更新一个int值。我最初做一个查询并返回一个ResultSet(sql :: ResultSet)。对于结果集中的每个条目,我想修改表中某个特定列的值,然后将其写回数据库/更新该行中的条目。

我不清楚基于文档如何做到这一点。我一直看到“插入”语句和更新 - 但我不认为这就是我想要的 - 我想保持大部分数据行完整 - 只需更新一列。

有人能指出一些示例代码或其他明确的参考/资源吗?

编辑:

或者,是否有办法告诉数据库更新特定字段(行/列)以将某个值增加某个值?

编辑:

那么人们从C ++使用MySQL的典型方式是什么?使用C api还是mysql ++?我想我选择了错误的API ...

1 个答案:

答案 0 :(得分:1)

从文档的快速扫描看来,Connector / C ++是Java JDBC API for C ++的部分实现。我没有找到任何可更新结果集的引用,所以这可能是不可能的。在Java JDBC中,如果使用ResultSet.CONCUR_UPDATABLE并发创建语句,则ResultSet接口包括对更新当前行的支持。

您应该调查Connector / C ++是否支持可更新的结果集。

编辑:要更新行,您需要使用包含SQL UPDATE的PreparedStatement,然后使用语句的executeUpdate()方法。使用此方法,您必须使用WHERE子句标识要更新的记录。例如

update users set userName='John Doe' where userID=?

然后你将创建一个PreparedStatement,设置参数值,然后执行executeUpdate()。