Problema ao executar query

24/02/2010

2

Estou tentando rodar este código, mas dá "access violation" na linha marcada e eu já não tenho mais a menor idéia do que pode ser:

procedure TGera.SpeedButton1Click(Sender: TObject);
begin
  OpenDialog1.Execute;
  Base.Text := OpenDialog1.Files.Text;

  With DM.SQLConnection1 Do
    begin
      ConnectionName := 'Infoplus';
      DriverName := 'Interbase';
      GetDriverFunc := 'getSQLDriverINTERBASE';
      KeepConnection := true;
      LibraryName := {$IFDEF Linux} 'libsqlib.so.1'; {$ELSE} 'dbexpint.dll'; {$ENDIF}
      LoadParamsOnConnect := false;
      LoginPrompt := false;
      Name := 'SQLConnection1';
      VendorLib := {$IFDEF Linux} 'libfbclient.so'; {$ELSE} 'GDS32.DLL'; {$ENDIF} // GDS32.DLL    fbclient.dll
      Params.Clear;
      With Params Do
        begin
          ADD('DriverName=Interbase');
          ADD('BlobSize=-1');
          ADD('CommitRetain=False');
          ADD('Database=' + host.Text + ':' + Base.Text );
          ADD('ErrorResourceFile=');
          ADD('LocaleCode=0000');
          ADD('Password=' + senha.Text);
          ADD('RoleName=RoleName');
          ADD('ServerCharSet=WIN1252');
          ADD('SQLDialect=3');
          ADD('Interbase TransIsolation=ReadCommited');
          ADD('User_Name=' + login.Text);
          ADD('WaitOnLocks=False');
        end;
        Open;
    end;

   if DM.SQLConnection1.Connected = false then
        ShowMessage('Base de dados não conectada!' + #13 + 'Verifique os dados.')
   else
   begin
        DM.Query.Active := false;
        DM.Query.Close;
        DM.Query.SQL.Clear;
        DM.Query.SQL.Add('SELECT RDB$RELATION_NAME FROM RDB$RELATIONS ');
        DM.Query.SQL.Add('WHERE RDB$VIEW_BLR IS NULL ');
        DM.Query.Active := true;
        if not DM.Query.IsEmpty then
        begin
        end;
   end;
end;
Responder

Posts

24/02/2010

Thiago Santana

Ao invés de tentar ativar a Query tente apenas abrir: DM.Query.open; Aproveite e pegue seu código SQL e teste para vê se ele está funcionando corretamente... Fora isso está td normal pelo menos visualmente..
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar