[Lazarus] TSQLQuery Error Database not assigned.

Michael Van Canneyt michael at freepascal.org
Wed Dec 26 15:37:47 CET 2012



On Wed, 26 Dec 2012, Giuliano Colla wrote:

> I'm trying to familiarize with MySql components, using mysql 5.1.
> I downloaded the TryMySql example linked from the Wiki page, I've changed 
> TMySQL50Connection to TMySQL51Connection, and set in SQLQuery ParseSQL=False 
> and ReadOnly=true, as suggested, but when I try to run it, the "connect to 
> server" fails with the error "Database not assigned!".
> The code I'm using is:
>
>  MySQLConnection1.HostName := HostEdit.Text;
>  MySQLConnection1.UserName := UserEdit.Text;
>  MySQLConnection1.Password := PasswdEdit.Text;
>  MySQLConnection1.DatabaseName := 'mysql'; // MySQL is allways there!
>  ShowString('Opening a connection to server: ' + HostEdit.Text);
>  MySQLConnection1.Open;
>
>  // First lets get a list of available databases.
>  if MySQLConnection1.Connected then begin
>    ShowString('Connected to server: ' + HostEdit.Text);
>    ShowString('Retreiving list of available databases.');
>    SQLQuery1.SQL.Text := 'show databases';
>    SQLQuery1.Open; <==== Fails here

Did you set
  SQLQuery1.Database:=MySQLConnection1;

?

Also 'Show databases' will - to my knowlegde - not work. It is not valid SQL.
as far as I know, it's a metadata statement that is handled by the mysql 
client which translates it to an API call.

Michael.




More information about the Lazarus mailing list