Olá!
Como vocês estão fazendo para gravar uma linha do browse direto via SQL ?
Saudações,
Itamar M. Lins Jr.
Usando Browse com SQL
Moderador: Moderadores
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8028
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Usando Browse com SQL
Imagino que queira dizer: como atualizar o browse com a inclusãoItamar M. Lins Jr. escreveu:Como vocês estão fazendo para gravar uma linha do browse direto via SQL ?
Como o uso é eventual, em poucos módulos, faço um novo select, ou inclusão manual no browse, depende do caso.
A gravação no SQL segue o normal.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 8028
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 2 vezes
- Curtiram: 1 vez
Usando Browse com SQL
Olá!
Uma das vantagens do DBF é atomicidade. Grava direto neste caso, até com LetoDbf.
Usando ADO/SQL... Como fazem para uma edição de célula do Browse Pai->Filho ?
Vou precisar criar mais um botão (salvar) ? No DBF não precisa.
No Hwgui usando browse pode ser mais simples "On Update" depois da edição da célula.
Vou usar o de sempre como está ai em cima.
Chamo a função BrowseUpdate(...) e dentro da função faço um cSQL := 'UPDATE ...' etc...
Saudações,
Itamar M. Lins Jr.
Uma das vantagens do DBF é atomicidade. Grava direto neste caso, até com LetoDbf.
Usando ADO/SQL... Como fazem para uma edição de célula do Browse Pai->Filho ?
Vou precisar criar mais um botão (salvar) ? No DBF não precisa.
No Hwgui usando browse pode ser mais simples "On Update" depois da edição da célula.
Código: Selecionar todos
@ 001,080 Browse oBrw ...;
On Update {|oBrw,nColPos| BrowseUpdate(oBrw,nColPos)} Chamo a função BrowseUpdate(...) e dentro da função faço um cSQL := 'UPDATE ...' etc...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Usando Browse com SQL
No browse, mesmo que não apareça em tela, tenho a ID do registro.
No Update, é só usar essa ID.
No SQL/ADO, mesma coisa, "update ... where id=nn"
No DBF geralmente está posicionado, porque o browse posiciona.
Aí é uma daquelas diferenças entre DBF ou não.
Se está navegando no browse..... precisaria realmente ficar movimentando a posição no registro?
Como estamos acostumados com DBF, achamos normal o browse ficar posicionando.
E em GUI? o grid fica posicionando? geralmente não, pra não perder velocidade...
Então... trata-se de uma mudança na forma de pensar.
Podemos achar normal porque DBF é assim, podemos achar anormal porque no resto não é assim.
É por isso que as LIBs gráficas acabam criando grids/browses diferentes pra cada tipo de base de dados, pra deixar algo facilitado para o usuário conforme a base de dados. E é nisso que elas acabam perdendo velocidade ou recurso, porque deixam preso a alguma coisa.
No VB era vinculado a ADO, no Harbour é vinculado a DBF, mas tem as exceções.
No VB tinha o Flexgrid independente de base de dados, no Harbour tem o tbrowse que pode ter skipblock(), etc. modificados conforme a base.
No Update, é só usar essa ID.
No SQL/ADO, mesma coisa, "update ... where id=nn"
No DBF geralmente está posicionado, porque o browse posiciona.
Aí é uma daquelas diferenças entre DBF ou não.
Se está navegando no browse..... precisaria realmente ficar movimentando a posição no registro?
Como estamos acostumados com DBF, achamos normal o browse ficar posicionando.
E em GUI? o grid fica posicionando? geralmente não, pra não perder velocidade...
Então... trata-se de uma mudança na forma de pensar.
Podemos achar normal porque DBF é assim, podemos achar anormal porque no resto não é assim.
É por isso que as LIBs gráficas acabam criando grids/browses diferentes pra cada tipo de base de dados, pra deixar algo facilitado para o usuário conforme a base de dados. E é nisso que elas acabam perdendo velocidade ou recurso, porque deixam preso a alguma coisa.
No VB era vinculado a ADO, no Harbour é vinculado a DBF, mas tem as exceções.
No VB tinha o Flexgrid independente de base de dados, no Harbour tem o tbrowse que pode ter skipblock(), etc. modificados conforme a base.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/