Ir para conteúdo

POWERED BY:

Arquivado

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

pdb

Consultas em Firebird

Recommended Posts

Eu estou precisando fazer um sistema de controle de estoque estou utilizando banco de dados em Firebird, no meu sistema estou usando as paletas do DBExpress para conexão com o Banco de dados, a partir desta paleta gostaria de saber como eu posso fazer para incluir dados no banco de dados e pesquisa sql, sendo q o sqlquery q estou utilizando não tem a mesma opção de "Request live" como o query do BDE, como faço para incluir os dados no meu banco de dados utilizando o sqlquery do dbexpress.?? ou se tiver alguma outra alternativa para fazer a inclusão de dados e pesquisas sql sem precisar utilizar o sqlquery, seria ótimo...

Valeu...!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então uma solução foi esta para pesquisa sql com CDS mas não funciona da o seguinte erro:

"Project project1.exe raised exception class EDatabaseError with message 'SQLDataSet1:Cannot perform this operation on an open dataset'. Process stopped."

Ja tentei tirar o "clientdataset1.open" mas tirando ele quando a gente clica no botão para fazer a pesquisa num acontece nada. alguem sabe me dizer oq estou fazendo de errado??

 

clientdataset1.Close;

clientdataset1.CommandText :=('select * from cliente');

clientdataset1.CommandText :=('WHERE nome LIKE '+#39+'%'+edit2.Text+'%'+#39);

clientdataset1.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pdb,

ao invés de usar o SQLQuery use TSQLDataSet, este sim permite que você salve os dados, porem aconcelho que você pesquise em outros foruns para entender melhor o seu uso, mas resumidamente é assim

 

você precisa de TSQLDataset, TDataSetProvider, TClientdataset e o Tdatasource

 

ligue o dataset ao sua sqlconnection, ligue o datasetprovider ao seu sqldataset, marque a propriedade allow CommandText

no clientdataset em ProviderName coloque o nome do seu datasetprovider

e finalmente ligue o datasource ao clientdataset

 

quando for passar a querry via commandtext, lembre-se de concatenar a select, pois ela nao funciona como no component sql q pode ir dando o Add linha a linha

 

vou comentar como você fez:

 

clientdataset1.Close;

clientdataset1.CommandText :=('select * from cliente'); //colocou "select * from cliente"

clientdataset1.CommandText :=('WHERE nome LIKE '+#39+'%'+edit2.Text+'%'+#39); //trocou a commandtext por "where ...." o q nao eh uma sql valida

clientdataset1.Open;

 

o correto seria

 

clientdataset1.Close;

clientdataset1.CommandText :='select * from cliente';

clientdataset1.CommandText :=clientdataset1.CommandText+'WHERE nome LIKE '+#39+'%'+edit2.Text+'%'+#39);

//note a concatenação do que existia em commandtext + o restante da sql q você deseja inserir

clientdataset1.Open;

 

para salvar o clientdataset é bem simples

 

clientdataset.post;

clientdataset.applyupdates(0);

 

quando for inserir um registro, lembre-se de recuperar o codigo do novo cliente antes de postar, ou faça uma trigger no banco para que seja inserida

um codigo para quando o codigo for NULO, se for usar trigger na lista de campos do dataset e do clientdataser marque os required como "false"

se não ele nao deixa você postar o codigo NULO

 

abraço

 

ps: aconcelho você a pesquisar um pouco mais sobre o uso de dbexpress, tem muita coisa boa na net

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, testei da maneira q você me explicou mas num deu certo.

o Erro q esta dando eh o seguinte:

"EDatabaseError with message 'Token unknown - line 1,char 16 select"

Procurei na net mas não consegui achar nada a respeito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, testei da maneira q você me explicou mas num deu certo.

o Erro q esta dando eh o seguinte:

"EDatabaseError with message 'Token unknown - line 1,char 16 select"

Procurei na net mas não consegui achar nada a respeito.

Cole como ficou seu codigo aqui, abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

o Amigo, consegui resolver ak... era uma bobeirinha q eu cometi ak...

no sqldataset a propriedade commandtype eu tinha colocado cltable, o certo eh clquery.

Valeu a ajuda.. muito agradecido...

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.