Ir para conteúdo

POWERED BY:

Arquivado

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

EderDias

Atualizar Paradox

Recommended Posts

Olá..pessoal..

 

tenho uma dúvida que nunca consegui achar uma solução...

 

por exemplo:

tenho um programa e um arquivo paradox em uma outra cidade, então estes dias o usuario me pediu para inclui na tabela mais 1 campo (A)alphanumerico

ai pedi pro camarada não usar o programa naquele dia, e me mandar o *.DB para mim incluir o campo solicitado nele e depois fazer as alterações necessárias no programa para mandar novamente o *.db e o executavel para ele.

ai o usuario me mandou e ficou parado sem usar o programa esperando até que eu atualizasse o mesmo.

(aiiiii...é pra acabar)

 

então....pessoal...eu perguntaria a você´s que são mais experientes no ramo.

 

Como eu faço para incluir um campo sem ter que o usuario me mandar o *.db e nem parar de trabalhar?

 

não tem uma maneira de eu criar um executavel que eu mande ao usuario e o mesmo execute o mesmo e faça com que o seu *.db inclua o campo conforme foi solicitado???

 

Se possível...alguem poderia me dar a dica de como criar este executável??Mto grato pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode sim desenvolver um programa que rode um script na base, bastando apenas você construir um programa que se conecte no seu .DB e rode o script que você deseja...qry.Close;qry.SQL.Clear;qry.SQL.Add('alter table tabela');qry.SQL.Add(' add nuteste integer');qry.ExecSQL;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza....amigo...isto mesmo.....que eu precisava.Carinha sem abusar da seu conhecimento......como ficaria se eu quizesse incluir mais de um campo na tabela....você cita um campo...e se for mais de um???Haaaa.....só mais uma coisinha...Campos inteiros você coloca assim: Integere se for campos tipo:*numerico*data*time*alphanumericoMto Grato...........pela força.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inteiro - Integer

Valor - Double Precision

Data - Date ou DateTime

Hora - char(8) eu uso como char para hora....

 

A forma que você poderia usar para atualizar mais de um campo é colocar um memo em um form com o comando sql, tendo como separador entre os campos os três traços (---), ficando o código algo do tipo:

 

procedure TfrmPrincipal.btnFecharClick(Sender: TObject);beginclose;end;procedure TfrmPrincipal.FormActivate(Sender: TObject);var   linhas: integer;beginqry.Close;qry.SQL.Clear;for linhas:=0 to Memo.Lines.Count do	 begin	 if Trim(Memo.Lines.Strings[linhas]) <> '---' then		 qry.SQL.Add(Memo.Lines.Strings[linhas])	 else		 begin		 if qry.SQL.Text <> '' then			 qry.ExecSQL;		 qry.SQL.Clear;		 end;	end;Application.MessageBox('Atualização concluída.','Atualiza',MB_OK or MB_APPLMODAL or MB_ICONWARNING);close;end;

Onde que no formulário somente tenho um Memo (no qual irá receber o código SQL), um botão de fechar, um componente para conectar com o BD e uma query para rodar os script's.... O evento que dispara a atualização é o OnActive do formulário....

O SQL deve de ficar tipo assim, dentro do memo:

 

update tabela

set campo = null

---

insert into tabela values (x,'y')

---

alter table tabela

add campoX integer

---

Compartilhar este post


Link para o post
Compartilhar em outros sites

AMIGO...você coloca que:

O SQL deve de ficar tipo assim, dentro do memo:update tabelaset campo = null---insert into tabela values (x,'y')---alter table tabelaadd campoX integer---

ai como esta acima eu não entendi....MTO BEM COLEGA o codigovamos supor que eu queira incluir na tabela CLIENTES os campos tipo alphanumrricoBAIRROCIDADEComo ficaria o codigo ???Mto grato pela ajuda...... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigão...beleza...jóia...funcionou legal.

 

só mais uma coisinha..

 

vamos supor que eu queira incluir um campo do tipo NUMERIC(N)

e

alem disso apos inserir este campo, mandar colocar neste campo que foi criado o valor de =0

 

exemplo: eu queria criar um campo numerico chamado PESO e dizer que todos os registros do sistema tem PESO = 0

 

Entende?? Da pra fazer num mesmo processo???

 

Haaa....e da pra deletar, alterar etc.....????

 

Hehehehe...sabe como é novato....a gente tem mta dúvida...

 

<Mas beleza..carinha..mto grato pela ajuda...ta sendo mto interessante suas dicas.

 

t+ http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo do tipo:

 

alter table tabela  add peso double precision---update tabela  set peso = 0---drop table tabela---alter table tabela  drop campo---

Campos como peso eu pelo menos sempre crio como double precision, os script's que você coloca dentro do MEMO é igual como se você executasse na base de dados, onde que somente o separador entre um script e outro é o ---

Compartilhar este post


Link para o post
Compartilhar em outros sites

BELEZA AMIGÃO...entendido

 

só teve um probleminha eu usei o double precision e qdo fui criar o campo ele deu um erro:

Invalid Field Type

 

usei assim:

 

alter table clientes

add xxxx double precision

---

 

Mas se eu quizer usar o campo tipo (n)Numerico como uso no database desktop....qual a expressão devo usar.

 

Mto Grato

 

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...carinha..eu pesquisei e achei:

 

NUMERIC é o nome

 

Beleza..cara....mto grato por ajudar....você me ajudou bastante...aprendi mto com suas explicações.

 

t+ e Sucesso.

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.