我在C++/CLI中使用NPGSQL作为PostgreSQL。所以,问题是,我的计算机上有一个数据库,我正试图从它的“movies”表中选择一些数据。我已经在里面输入了一些数据,所以我知道里面有一些数据。但当我尝试选择其中一些时,我的查询的答案是空的。我的代码如下:
public: string* SelectData(string* torrent)
{
conn->Open();
String ^ query = "SELECT title, director, actors, genre FROM movies";
Npgsql::NpgsqlCommand ^ command = gcnew NpgsqlCommand(query, conn);
try{
Npgsql::NpgsqlDataReader ^ dr = command->ExecuteReader();
for (int i = 0; i < N_TORRENT; i++)
{
if(dr->Read())
{
string std1 = toStandardString((String^)dr[0]);
string std2 = toStandardString((String^)dr[1]);
string std3 = toStandardString((String^)dr[2]);
string std4 = toStandardString((String^)dr[3]);
torrent[i] = std1 + " " + std2 + " " + std3 + " " + std4;
}
}
return torrent;
}
finally{
conn->Close();
}
}
最佳答案
(为那些寻找这个问题答案的人)
当我更改查询并查找不为空的“title”列时,问题解决了。但这很可笑,所以我觉得问题出在pgAdmin上。因为我的插入查询也不起作用,但我添加了“row s effected”变量,它显示了受影响行的编号,看起来它起作用了。所以问题可能出在pgAdmin上。