ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Valores Varbinary da Tabela para variavel Varchar no Delphi

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fdsilva.desenv
Novato
Novato


Registrado: Quarta-Feira, 28 de Novembro de 2012
Mensagens: 68

MensagemEnviada: Qua Ago 01, 2018 10:25 am    Assunto: Valores Varbinary da Tabela para variavel Varchar no Delphi Responder com Citação

Prezados, bom dia.

Estou passando por uma situação complicada no Delphi, onde eu preciso pegar os valores encriptados de uma tabela e jogar o texto apresentado nesses campos em uma variável string.

O código é Basicamente esse:

Código:

procedure TdlgCadBancos.Btn1Click(Sender: TObject);
var
    RsSOS : Recordset;
    xml : string;
    codusu, codtela, nmusu, cnpj : string;
begin
  inherited;
  RsSOS := CreateADOObject(CLASS_Recordset) as Recordset;

  codtela := 'GW0D00';
  codusu  := IntToStr(frmMain.CodUsuario);
  nmusu   := frmMain.Usuario;
  cnpj    := SomenteNumero(frmMain.ParamRet.Empresa.CNPJ_CPF);

  with TfrmTelaWeb.Create(Application) do
  begin
    ADOCmdSOS.CommandText := '';

    try
      GWCommand(ErrorMessage, frmMain.ADOConnection.ConnectionObject,
                 Pchar(' IF EXISTS (select * from sysobjects where id = object_id(N'+QuotedStr('[TmpSOS]')+'))'+'    DROP TABLE TmpSOS'));

    except
    end;

    ADOCmdSOS.CommandText :=   'CREATE TABLE TmpSOS '+#13+
                                      ' (SISTEMA varbinary(1000), CNPJ varbinary(1000), CODUSUARIO varbinary(1000), NOMEUSUARIO varbinary(1000), CODMENU varbinary(1000))'+#13+
                                     ' DECLARE @_chave varchar(10) = CONVERT(VARCHAR(10), GETDATE(), 103) '+#13+
                                     ' INSERT INTO TmpSOS (SISTEMA, CNPJ, CODUSUARIO, NOMEUSUARIO, CODMENU)'+#13+
                                     ' SELECT ENCRYPTBYPASSPHRASE(@_chave, '+QuotedStr('Profit')+') as SISTEMA '+
                                     '     , ENCRYPTBYPASSPHRASE(@_chave, '+QuotedStr(cnpj)+') as CNPJ '+
                                     '     , ENCRYPTBYPASSPHRASE(@_chave, '+QuotedStr(codusu)+') as CODUSUARIO '+
                                     '     , ENCRYPTBYPASSPHRASE(@_chave, '+QuotedStr(nmusu)+') as NOMEUSUARIO '+
                                     '     , ENCRYPTBYPASSPHRASE(@_chave, '+QuotedStr(codtela)+') as CODMENU';
    RsSOS := ADOCmdSOS.Execute;

    if RsSOS.Get_State <> 0 then
       RsSOS.Close;
    RsSOS := GWSelect(ErrorMessage,frmMain.ADOConnection.ConnectionObject,'TmpSOS','*','','');


    xml := 'http://www.teste.com.br/ajuda.aspx?'+
                       'sistema='+VarToStr(RsSOS.Fields['SISTEMA'].Get_value)+
                       '&cnpj='+VarToStr(RsSOS.Fields['CNPJ'].Get_value)+
                       '&codusr='+VarToStr(RsSOS.Fields['CODUSUARIO'].Get_value)+
                       '&nomeusr='+VarToStr(RsSOS.Fields['NOMEUSUARIO'].Get_value)+
                       '&codmenu='+VarToStr(RsSOS.Fields['CODMENU'].Get_value);
end;


Basicamente, o que preciso é pegar o valor encriptado da tabela TmpSOS e passar esse valor encriptado em uma variável do tipo string chamada "XML". Porém quando vou olhar a variável varchar, ela não pegou o texto correspondente a tabela e coloca algo do tipo: '01&'

Alguém poderia me ajudar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB