我在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上。

10-04 13:58
查看更多