Select查询postgresql数据库结果为空。我使用了错误的逻辑吗?
我正在C++/CLI中为postgresql使用Npgsql。所以,问题是,我的计算机上有一个数据库,我试图从它的“电影”表中选择一些数据。我已经在里面输入了一些数据,所以我知道它有一些数据。但当我尝试选择其中一些时,我的查询的答案是空的。我的代码如下:Select查询postgresql数据库结果为空。我使用了错误的逻辑吗?,postgresql,visual-c++,c++-cli,npgsql,Postgresql,Visual C++,C++ Cli,Npgsql,我正在C++/CLI中为postgresql使用Npgsql。所以,问题是,我的计算机上有一个数据库,我试图从它的“电影”表中选择一些数据。我已经在里面输入了一些数据,所以我知道它有一些数据。但当我尝试选择其中一些时,我的查询的答案是空的。我的代码如下: public: string* SelectData(string* torrent) { conn->Open(); String ^ query = "SELEC
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();
}
}
public:string*SelectData(string*torrent)
{
conn->Open();
String^query=“从电影中选择标题、导演、演员、类型”;
Npgsql::NpgsqlCommand^command=gcnewnpgsqlcommand(查询,连接);
试一试{
Npgsql::NpgsqlDataReader^dr=command->ExecuteReader();
对于(int i=0;iRead())
{
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;
}
}
回流急流;
}
最后{
conn->Close();
}
}
(适用于寻找此问题答案的人)
当我更改查询并查找不为空的“标题”列时,问题得到解决。但这是荒谬的,所以我认为问题在于pgAdmin。因为我的insert查询也不起作用,但我添加了“rowseffected”变量,它显示了受影响行的编号,看起来它正在起作用。所以问题可能与pgAdmin有关。您能提供一些日志吗?我只有Visual Studio的输出日志,显然它们与数据库无关。