Select 对 postgresql 数据库的查询结果为空。我使用错误的逻辑吗?
Select query on postgresql database result is empty. Am I using wrong logic?
我在 C++/CLI 中将 Npgsql 用于 postgresql。所以,问题是,我的计算机上有一个数据库,我正在尝试 select 从它 "movies" table 中获取一些数据。我已经在里面输入了一些数据,所以我知道它有一些数据。但是当我尝试 select 其中一些时,对我的查询的回答是空的。我的代码如下:
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 上。因为我的插入查询也没有工作,但我添加了 "rowseffected" 变量,它显示了受影响的行号,看起来它正在工作。所以问题可能与 pgAdmin 有关。
我在 C++/CLI 中将 Npgsql 用于 postgresql。所以,问题是,我的计算机上有一个数据库,我正在尝试 select 从它 "movies" table 中获取一些数据。我已经在里面输入了一些数据,所以我知道它有一些数据。但是当我尝试 select 其中一些时,对我的查询的回答是空的。我的代码如下:
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 上。因为我的插入查询也没有工作,但我添加了 "rowseffected" 变量,它显示了受影响的行号,看起来它正在工作。所以问题可能与 pgAdmin 有关。