Lazarus Pascal / Delphi - Ошибка подключения к базе данных

Я пытаюсь подключиться к своей базе данных postgresql с помощью Lazarus pascal. Я получаю эту ошибку ближе к концу компиляции (F9).

mainform.pas (112,35) Ошибка: для вызова «Create» указано неверное количество параметров.

Вот мой код:

  dbConn:= TSQLConnection.Create(nil);    
  dbConn.HostName := '<IP goes here>';    
  dbConn.DatabaseName:= 'dbMydb';    
  dbconn.UserName:='me';    
  dbConn.Password:='pas';    
  dbConn.Open;

  //Bind the Transaction AND Query components to the DB connection

  dbQuery_Menu := TSQLQuery.Create; //This is the line with the error    
  dbQuery_Menu.Database := dbConn;    
  dbQuery_Menu.Transaction := dbTrans ;

Я действительно устал, пытаясь понять это ... Любая помощь, пожалуйста ...

Приведенный выше код был адаптирован отсюда.


person itsols    schedule 30.10.2012    source источник
comment
Для тех, кто столкнулся с той же проблемой или хотел бы исправить это, вот код: pastebin.com/RSBkusDM   -  person itsols    schedule 31.10.2012


Ответы (1)


Кажется, что документация устарела, TSQLQuery происходит от класса TCustomSQLQuery, где конструктор определен как

 constructor Create(AOwner : TComponent); override; 

Итак, вам нужно изменить свой код следующим образом

dbQuery_Menu :=TSQLQuery.Create(nil); 
person RRUZ    schedule 30.10.2012
comment
Спасибо за уделенное время. К сожалению, я получаю ту же ошибку. Думая, что это может быть проблема с разрешениями, я даже попробовал это: dbQuery_Menu.SQL.Text:= 'Select 5+6 as Ans';, но результат тот же. Даже пытался поместить nil во все объекты (соединение, транзакция и запрос), но ничего не изменилось. Я начинаю думать, что это ошибка Lazarus. - person itsols; 31.10.2012
comment
Скажите, вы получаете ту же ошибку Wrong number of parameters specified for call to "Create" после того, как изменили код предложенным мной кодом? - person RRUZ; 31.10.2012
comment
О нет, мне очень жаль слияние ... Последние несколько дней были беспокойными, и я потерял больше, чем когда-либо прежде ... Я могу запустить его, как вы сказали, либо добавив nil, либо имя компонента на форме. Но теперь вылетает при открытии запроса. - person itsols; 31.10.2012
comment
Извините за путаницу ... На этот вопрос я принимаю ваш ответ. Но я просто не могу получить код, чтобы открыть запрос. Кстати, я делаю все это через код - не используя компоненты на верхней вкладке. - person itsols; 31.10.2012
comment
вот другой вопрос - это где программа вылетает при открытии запроса. - person itsols; 31.10.2012