Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Select查询postgresql数据库结果为空。我使用了错误的逻辑吗?_Postgresql_Visual C++_C++ Cli_Npgsql - Fatal编程技术网

Select查询postgresql数据库结果为空。我使用了错误的逻辑吗?

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

我正在C++/CLI中为postgresql使用Npgsql。所以,问题是,我的计算机上有一个数据库,我试图从它的“电影”表中选择一些数据。我已经在里面输入了一些数据,所以我知道它有一些数据。但当我尝试选择其中一些时,我的查询的答案是空的。我的代码如下:

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的输出日志,显然它们与数据库无关。