Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MatheusWC

Executar Query

Recommended Posts

Bom dia ^^To presisando de uma ajudinha...Apartir de um XML to gerando as querys que quero executar par adicionar informações no banco...Porém to em duvida de como fazer isso, to usando o Zeos, no caso Eu uso o ZConnection para realizar a conexão, ai agora uso o ZQuery correto? Só que nele não tem uma opção para escolher a tabela que vou utilizar... tem o ZTable, ele tem para escolher a tabela, porém não achei o campo para o SQL, por acaso tem que ligar a duas?Abraços;

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela você pode fazer isto, selecionar uma tabela do BD e ligar, no caso da Query, você deve de colocar o comando SQL, tipo:

 

select *from tabela

No caso pode trabalhar com esta query mesmo para fazer os Insert, Edit, Post, etc..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz deculpa viajei com a parada de que ele não escolhe a tabela, ahuahuaa tabela é na hora da query mesmo, disfarça x_xUma pergunta, a query só vai ser executada quando 'Active' do ZQuery for True né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, com o NEXTVAL('nome_da_seq') ele avança na sequencia e retorna o valor atual da sequencia, como faço para pegar o valor? Na verdade, atribuir esse valor à uma variavel, para que eu possa usar em outras Querys...Uma abração, e obrigado por estar me ajudando! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, o CURRVAL é pra recuperar o atual, mas o NEXTVAL ele avança a sequencia e retorna o novo valor, mas como que atribui o retorno disso à uma váriavel do Delphi?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declare uma variável, digamos:

 

var	valorAtual: integer;

No caso você coloca o comando dentro da sua query, depois adicione o campo no FieldEditor, no caso de dois cliques sobre a query, depois vai em Add Fields, ele vai adicionar um campo com um nome, no fonte faça algo do tipo:

 

valorAtual:=qryCAMPO_ADICIONADO.Value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

To chegando lá! =D

 

Ele tá vindo como Int64, como faço para ele vir como String?

 

Fiz assim:

SQL_NumQuestionario := QueryPgSQLnextval.Value;
ai ele da o erro " Incompatible types: 'String' and 'Int64' "

 

Abração;

 

EDITADO:

Tipo descobri que parece que .Value não existe, dei uma olhada e vi que tem .DisplayText, e com ele funcionou certinho! ;D

SQL_NumQuestionario := QueryPgSQLnextval.DisplayText;
=]

 

Abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra dúvida ;]Eu tenho TListBox chamado SQLBox...Nele foi gerado em cada linha ta escrito um INSERT INTO blablabla...Agora quero executar esse Inserts.Teria que fazer como, colocar o conteudo do SQLBox dentro do 'SQL' de uma Query né? e Depois setar o Active = True pra ele executar, correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, no caso teria de fazer um for nesta sua lista, passando para dentro da query e depois executando, algo do tipo:

 

qry.Close;qry.SQL.Clear;qry.SQL.Add(passe aqui o sql da lista);qry.ExecSQL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz de um jeito sem for, e conferi e ele passou tudo:

QueryAdicionaTudo.SQL.Text := SQLBox.Items.Text;

(a QeuryAdicionaTudo eu dexei o 'Active' setado em False)

 

então agora se eu quiser agora executar a query é só dar um

QueryAdicionaTudo.Active := True;

que ele vai fazer a query né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando ele vai inserir tudo no banco da este erro:SQL Error: ERROR: invalid byte sequence for encoding "UTF 8": 0xea2729.Deve ser por causa que o banco é em utf-8 e o PC e iso-8859-1 né?Sabe como poderia resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas acho que ta mais pro Delphi.. tem alguma função pra converter de iso-8859-1 para utf-8?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A codificação do DB é utf8, e do pc não, então tem alguma função ou outra coisa que possa fazer para não precisar mudar a codificação do DB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.