通过传递一个ID(c++)从数据库中检索数据

Retrieve Data from Database by Passing an ID, c++

本文关键字:c++ 数据库 数据 检索 ID 一个      更新时间:2023-10-16

我正试图从数据库中获取数据,只给它一个ID号。我的数据库有两列,第一列是ID,第二列是图像路径。因此,如果我通过ID=3,它应该返回与该ID对应的路径。

我曾经试过这样做,但我一直被质疑。

mysql_query (conn, "SELECT * FROM table" );
res = mysql_use_result(conn);
row = mysql_fetch_row(res)
ID = atoi(row[0]);
path = row[1];
printf("ID: %i", ID);
printf("Image Path: %s", path);

请帮助:)

我认为这个问题还不太清楚。第一种情况,对于要显示id/path的每一行:

mysql_query (conn, "SELECT * FROM table" );
res = mysql_use_result(conn);
while (row = mysql_fetch_row(res)) {
  ID = atoi(row[0]);
  path = row[1];
  printf("ID: %i", ID);
  printf("Image Path: %s", path);
}

另一种可能性是,你只想要一行,因为你知道你要找的ID。然后,您可以决定只检索缺少的列,并使用以下内容:

mysql_query (conn, "SELECT path FROM table WHERE id=ID" );

在一些更复杂的情况下,比如说,即使使用WHERE,您可能有多行,也只能保留第一行,例如,在查询中添加TOP条件。在任何情况下,你都需要考虑什么是真正的回报。

我没有测试我写的代码,只是编辑了你发布的内容(公平地说^^)

您似乎对基本的计算机概念有一些问题。例如,拥有一件事与拥有多件事的概念。您获取一行,但数据库表有多行,查询返回所有行。(无WHERE条款)。

显而易见的解决方案是获取所有行,或者(更好地)将查询限制为您想要的行。