Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
ListBox

23/5/2017, 10:37 por Rosangela Pires

Ola Amigos.

Para se movimentar na grid com as setas colocamos no Metodo AfterChange da grid …

Comentários: 0

TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Estatísticas
Temos 7082 usuários registrados
O último usuário registrado atende pelo nome de Maiara Bosco

Os nossos membros postaram um total de 49 mensagens em 26 assuntos

Insert Into com Cursor

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Insert Into com Cursor

Mensagem por Julio em 7/5/2010, 14:11

Boa Tarde pessoal

No Load do form criei um cursor:
Código:
CREATE CURSOR c_Produto (id_produto N(10), descricao C(100))

Em determinado momento tenho que armazenar dados neste cursor, utilizo o comando desta forma

Código:
insert into c_produto (id_produto, descricao) values (This.text1.value,this.text2.value)

So que esta dando erro:
Cannot update the cursor C_produto, since it is read-only

Qual o comando para inserir dados em um cursor?

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 7/5/2010, 14:14

append from

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 7/5/2010, 14:16

Marcelo

Quando uso o INSERT INTO este comando ja nao faz o "append blank"?

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 7/5/2010, 14:19

Sim insert into - insere um novo registro
append blank - pula para proxima linha em branco

somente me responde qual banco utiliza ....
e o que precisa fazer em regra empresarial .... exatamente ?

Não enxerguei a necessidade create cursor ai

create cursor voce usaria para fazer um relatorio com mais de uma banda de detalhes dentro de um command

do resto , nao vejo o pq utilizar ?

o create cursor para alimenta-lo voce precisa fazer um append numa tabela se nao ele ficara vazio e dara erros de instrucao nao acabada

antigamente fazia testes ..... e testes ..... até nao saber que a coisa se resolvia de forma simples ......

hoje em dia ...... utilizar as coisas mais praticas ... te eleva a maior empenho

um exemplo

Código:
CREATE CURSOR dinheiro (dim_cod c(9), dim_chist c(5) , dim_dtpgto d(8), dim_vlrtt N(12,2), dim_cx c(5), dim_vlrre n(12,2), dim_vlrde n(12,2), dim_vlrtr n(12,2) , dim_multa n (12,2), dim_matri n(12,2), dim_soma n(12,2)  , dim_clie c(5) )
INDEX ON dinheiro.dim_cx TAG caixa
APPEND FROM cadimov


Última edição por marcelofazan em 7/5/2010, 14:29, editado 1 vez(es)

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 7/5/2010, 14:29

Marcelo

Na verdade sempre utilizei o append blank, mas seguindo os conselhos dos mais experientes em programação vfp onde sempre preferem o uso do INSERT INTO pensei que neste caso poderia ser utilizado.

Utilizo o banco de dados nativo do vfp.
Esta sendo utilizado em um formulario para mostrar alguns resultados em uma grid.

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Marcos Guedes em 7/5/2010, 14:43

Julio, tens certeza que o erro parte desta linha:
Código:
insert into c_produto (id_produto, descricao) values (This.text1.value,this.text2.value)

???

Fiz o seguinte teste e funcionou perfeitamente:
Código:
create CURSOR c_produto (id_produto N(10), descricao c(100))
INSERT INTO c_produto (id_produto, descricao) VALUES (0,'123456')

Tente incluir da seguinte forma:
Código:
LOCAL idProduto as Integer
LOCAL descricao as String
*!*
m.idProduto = THIS.text1.VALUE && Se este for STRING, altere para VAL(THIS.text1.VALUE)
m.descricao = ALLTRIM(THIS.text2.VALUE)
INSERT INTO c_produto (id_produto, descricao) VALUES (m.idProduto, m.descricao)

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 7/5/2010, 14:45

Amigo Julio

experiencia em linguagem as vezes .... nao faz um bom sistema , trabalhar com classes isso nao é obrigatorio é questao de gosto

Entender de regras de negocios e ser indicado isso sim é sucesso para o sistema

a questao ..... seria como está montando suas telas,

eu uma vez, tentei utilizar uma consulta idx seguindo os mais velhos.... ate consegui mais axei trabalhoso , ter que criar indice temporario e ter que excluir etc .....

porem criei um jeito de trabalhar mais sofisticado
e estou muito contente porque, consigo fazer qq coisa .... em qualquer momento sem nenhum problema

inves de create cursor poderia fazer um select no init
recordsource = cursor

e remontando o cursor é o que eu faço .....

esse lance de experencia em fox, é pq vem de versoes anteriores . a quais nao eram inchergados os recursos das opcoes novas

acho que select e replace ...... na sua linha de pensamento iria resolver

mais no fundo é legal testar de tudo para saber o que usar na hora certa

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Tales Ruan em 7/5/2010, 16:25

Júlio, que versão do Fox você usa?

Se não me engano, a partir da versão 9 voce pode usar a cláusula READWRITE nos comandos SELECT SQL para que o cursor fique em modo leitura-escrita.

Se você fizer:

Código:

Select * from clientes into cursor CURSORCLIENTES

insert into CURSORCLIENTES ....

vai dar o erro que voce relatou.
Mas se você fizer:

Código:

Select * from clientes into cursor CURSORCLIENTES READWRITE

insert into CURSORCLIENTES ....

Funciona ok!

OBS: No exemplo, INSERT INTO e APPEND BLANK dá no mesmo.
avatar
Tales Ruan
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Marcos Guedes em 7/5/2010, 16:55

[Você precisa estar registrado e conectado para ver este link.] escreveu:OBS: No exemplo, INSERT INTO e APPEND BLANK dá no mesmo.
A diferença, é que se você utiliza o APPEND BLANK e na hora de incluir o registro ocorre um erro, tal como incompatibilidade de tipos de dados, você terá uma linha em branco em sua tabela. Algo que não ocorre com o INSERT.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 10/5/2010, 08:32

Tales

Estou criando um cursor e quero adicionar neste cursor

Código:
CREATE CURSOR c_Produto (id_produto N(10), descricao C(100))

READWRITE acho que nao funciona no cursor, ou eu nao estou sabendo fazer.

Marcos
Eu utilizo o append blank nos botoes gravar e nao no botão novo, somente ao clicar no botão gravar é que eu utilizo o comando append blank. Mas apos algumas dicas que recebi passei a utilizar o comando insert into.

julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Marcos Guedes em 10/5/2010, 10:15

Julio, antes de mais nada, qual a finalidade do cursor que estais criando?
Registrar arquivos temporariamente, ou exibir registros de uma tabela com base em uma condição específica?

O READWRITE que o Tales falou é utilizado apenas no caso de você precisar armazenar dados de uma tabela num cursor, a fim de alterá-los temporaroamente no próprio cursor.
Ex.:
Imagine que você queira todos os dados de uma tabela:
Código:
SELECT * FROM suaTabela INTO CURSOR meuCursor
Neste exemplo acima, você não poderá editar, incluir, ou excluir registros no cursor.
Mas se fizeres:
Código:
SELECT * FROM suaTabela INTO CURSOR meuCursor READWRITE
Então poderás editar, alterar ou excluir registros no cursor (Observação: Não irá afetar a tabela. Apenas o cursor).

Para resolver o problema de seu cursor, você leu minha primeira mensagem neste tópico?
[Você precisa estar registrado e conectado para ver este link.]

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 10/5/2010, 10:33

Julio , blz
tava vendo o HELP do 5 o comando create cursor a primeira frase é essa

" Cria uma tabela temporária. "
a questao seria, vc já a tabela feita nao tem ?

se voce ja tem a tabela entao use SELECT para seleciona-la

somente usaria create cursor , se fosse um monte de tabelas , voce transformaria todas em 1 ou varios cursores temporarios

o que está tentando ira dar certo tambem , o fox te da essa regalia de escolher os comandos

mais somente 2 campos , ou 1 tabela. vc está recriando algo que ja esta criado, ficando dobrado

Abs

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 10/5/2010, 11:20

Julio , nos diga ...... o que sua tela faz , que segmento seria
o que exatamente nao está conseguindo ?

estamos dando palpite ,. sendo que talves o problema esta no como quer fazer a consulta

voce quer gravar a consulta ?
eu nunca vi necessidade nisso, estou curioso se poder nos explicar,

voce quer enxugar campos da tabela pra grid ?
voce que dar 2 cliques no registro da grid e gravar ?
voce quer colocar somente alguns registros na grid conforme a consulta ?

é uma tela de produto ? o que quer fazer com o produto . digite cara cyclops

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 10/5/2010, 16:53

Pessoal

Estou gravando temporariamente neste cursor e quando clicar no botão gravar transfiro para tabela DBF definitiva.

Este cursor temporario é somente para ir armazenando os dados que o usuário escolhe e depois gravo na tabela definitiva.

Agradeço a todos e com as dicas aqui passadas consegui fazer o que precisava.

muito obrigado a todos

julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Marcos Guedes em 10/5/2010, 16:59

[Você precisa estar registrado e conectado para ver este link.] escreveu:Pessoal

Estou gravando temporariamente neste cursor e quando clicar no botão gravar transfiro para tabela DBF definitiva.

Este cursor temporario é somente para ir armazenando os dados que o usuário escolhe e depois gravo na tabela definitiva.

Agradeço a todos e com as dicas aqui passadas consegui fazer o que precisava.

muito obrigado a todos

julio
[Você precisa estar registrado e conectado para ver este link.] escreveu:Julio, tens certeza que o erro parte desta linha:
Código:
insert into c_produto (id_produto, descricao) values (This.text1.value,this.text2.value)

???

Fiz o seguinte teste e funcionou perfeitamente:
Código:
create CURSOR c_produto (id_produto N(10), descricao c(100))
INSERT INTO c_produto (id_produto, descricao) VALUES (0,'123456')

Tente incluir da seguinte forma:
Código:
LOCAL idProduto as Integer
LOCAL descricao as String
*!*
m.idProduto = THIS.text1.VALUE && Se este for STRING, altere para VAL(THIS.text1.VALUE)
m.descricao = ALLTRIM(THIS.text2.VALUE)
INSERT INTO c_produto (id_produto, descricao) VALUES (m.idProduto, m.descricao)

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 10/5/2010, 17:10

Maros

Ok agora sim, esta certo.


Obrigado

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Marcos Guedes em 10/5/2010, 17:12

[Você precisa estar registrado e conectado para ver este link.] escreveu:Maros

Ok agora sim, esta certo.


Obrigado

Julio
Conseguiu resolver o problema e compreender a utilização do cursor?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por m@r<3|o em 12/5/2010, 22:35

mimimi mi mi

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Insert Into com Cursor

Mensagem por Julio em 13/5/2010, 11:29

Ok Marcos

Resolvido

Obrigado

Julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum