2016-03-31 2 views
3

Я использую Npgsql для postgresql в C++/CLI. Итак, проблема в том, что у меня есть db на моем компьютере, и я пытаюсь выбрать некоторые данные из этой «кино» таблицы. Я уже ввел некоторые данные внутри него, поэтому я знаю, что у него есть некоторые данные. Но когда я пытаюсь выбрать некоторые из них, ответ на мой запрос пуст. Мой код, как показано ниже:Выбор запроса на результат базы данных postgresql пуст. Я использую неправильную логику?

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(); 
      } 
     } 
+0

Можете ли вы предоставить какой-нибудь журнал? –

+0

У меня есть только выходные журналы из Visual Studio, и, видимо, они не о базе данных. – Prometheus

ответ

1

(Для тех, кто будет искать ответ на этот вопрос в) Проблема решена, когда я изменил мой запрос и искать в колонке «название», которые не являются пустыми. Но это смешно, поэтому я верю, что проблема была в pgAdmin. Поскольку мой запрос на вставку тоже не работал, но я добавил переменную «rowseffected», и она показывает номер строки, выполненной в строке, и выглядит так, как будто она работает. Так что проблема, вероятно, в pgAdmin.