Fórum Erro Missing Drivename property #444414

31/05/2013

0

Ola caros amigos,

Esse erro acontece quando clico no botão ok para dar entrada no software gerencial comercial que estou criando.
O erro:'Missing Drivename property'.
E o que me entriga, que isso acontesse quando a linha marcada com uma seta abaixo esta ativada.
Código:
bstatus.Panels[1].Text := TabUsuarioUSURARIO.Value;
bstatus.Panels[2].Text := formatdatetime('dddddd',datsys); <- quando esta ativado esse código o erro acontece.
grouplogin.Visible := false;

OBrigado a todos
Deus Abençoe
Wilton Júnior

Wilton Júnior

Responder

Posts

31/05/2013

Claudia Nogueira

O erro está mais com cara de ser por causa da linha de cima.
Ele tem a ver com a conexão com o banco de dados, parece que não foi feita a conexão com sucesso, e ao utilizar a tabela com o usuário, dá o erro.
Será que conectou mesmo com o banco de dados?
Responder

Gostei + 0

01/06/2013

Wilton Júnior

Então Claudia, vc pode tar certa, mas vou te fazer uma pergunta:
Por que o nome do usuário aparece no status?
Esse nome de usuário vem de uma query local, estou usando sqlquery do dbexpress.
Com aquela linha comentada o processo de autenticação funciona com ela não comentada acontece o erro.
Responder

Gostei + 0

01/06/2013

Claudia Nogueira

Esse datsys é uma variável ou uma função que retorna alguma data?
Responder

Gostei + 0

01/06/2013

Wilton Júnior

function datsys():TDateTime;
begin
with DM.datsys do
begin
close;
open;
end;

result := DM.DatSysDATSYS.asdatetime
Responder

Gostei + 0

01/06/2013

Claudia Nogueira

Será que o erro não está na sentença SQL desse datsys?

Faz isso pra ver:

function datsys():TDateTime;
begin
  Result := Date; 
  try
    with DM.datsys do
    begin
      close;
      open;
    end;
    result := DM.DatSysDATSYS.asdatetime;
  except
    on E:Exception do
      ShowMessage(E.message);
  end;
end;


function datsys():TDateTime;
begin
with DM.datsys do
begin
close;
open;
end;

result := DM.DatSysDATSYS.asdatetime
Responder

Gostei + 0

01/06/2013

Wilton Júnior

Cladia me fala o que tem de errado aqui:

wdriver := ExtractFileDrive(ParamStr(0));
DM := TDM.Create(application);
With DM.JessiBasilio do
begin
Connected := false;
ConnectionName := 'FBConnection';
DriverName := 'Firebird';
Params.Add('DataBase='+wdriver+'\JessiBasilio\Dados\JessiBasilio.FDB');
Params.Add('User_Name=SYSDBA');
Params.Add('Password=masterkey');
GetDriverFunc := 'getSQLDriverINTERBASE';
LibraryName := 'dbxfb.dll';
VendorLib := 'fbclient.dll';
Connected := true;
end;

if DM.JessiBasilio.Connected = false then
begin
Application.MessageBox('Não houve conexão com o banco de dados!Entre em contato com o Desenvolvedor do Software.','ATENÇÃO', MB_ICONWARNING + MB_OK);
Application.Terminate;
end;
Responder

Gostei + 0

01/06/2013

Wilton Júnior

Claudia eu descobri que o erro tah no codigo mas onde nao sei :)
Responder

Gostei + 0

01/06/2013

Claudia Nogueira

Não sei que erro está dando na criação do DM, mas se ele for o DataModule principal, eu deixaria ele no AutoCreate, sendo a primeira coisa a ser criada, e no onCreate dele colocaria o código:

Var
  wdriver : String;
begin
  wdriver := ExtractFileDrive(ParamStr(0));
  With JessiBasilio do
  begin
    Connected := False;
    LoginPrompt := False;
    ConnectionName := 'IBLocal';
    DriverName := 'Interbase';
    GetDriverFunc := 'getSQLDriverINTERBASE';
    Params.Clear;
    Params.Add('BlobSize=-1');
    Params.Add('CommitRetain=False');
    Params.Add('DataBase='+wdriver+'\JessiBasilio\Dados\JessiBasilio.FDB');
    Params.Add('DriverName=Interbase');
    Params.Add('ErrorResourceFile=');
    Params.Add('LocaleCode=0000');
    Params.Add('Password=masterkey');
    Params.Add('RoleName=RoleName');
    Params.Add('ServerCharSet=');
    Params.Add('SQLDialect=2');
    Params.Add('Interbase TransIsolation=ReadCommited');
    Params.Add('User_Name=sysdba');
    Params.Add('WaitOnLocks=True');
    Connected := True;
  end;
  if JessiBasilio.Connected = false then
  begin
    Application.MessageBox('Não houve conexão com o banco de dados!Entre em contato com o Desenvolvedor do Software.','ATENÇÃO', MB_ICONWARNING + MB_OK);
    Application.Terminate;
  end;
end;


Obs.: Adicionar Forms ao uses do DataModule.
Obs2.: Você pode usar dessa forma pra se conectar ao firebird também.
Responder

Gostei + 0

03/06/2013

Guilherme Wiethaus

Isto é paliativo e talvez não resolva. Estou chutando de acordo com a mensagem de erro que retornou. Tente trocar para:

GetDriverFunc := 'getSQLDriver'; 


O que vejo é que está utilizando o Interbase como função Driver, embora compatível em muitos aspectos, mas nas novas versões do Firebird existem muitas características diferenciadas.

Abraços
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar