Jump to content
Fivewin Brasil

migrando para sqlexpress usando sqlrdd


edutraini

Recommended Posts

Boa tarde Pessoal

tenho uma duvida sobre a rotina abaixo

USE DCOTITE0  INDEX XCOTITE1,XCOTITE2,XCOTITE3,XCOTITE4 ALIAS COTATE NEW 

Sele Cotate
dbsetorder(2)
seek str(at_mCodcli,6) 
index on nrocota to &va_arqicot while cotate->codcli=at_mCOdcli .and. cotate->nrocota = at_mCotacao 
set index to xcotite1,xcotite2,xcotite3,xcotite4,&va_ARQIcot
dbsetorder(5)

Usando dbf eu faço um indice temporario para criar um filtro aonde ele vai pegar todos as cotacoes de um determinado cliente 

Qual a melhor forma para mudar essa rotina para sqlexpress usando sqlrdd 

Eu ja tentei usando o comando do rdd  USE DCOTITE0 shared INDEX XCOTITE1,XCOTITE2,XCOTITE3,XCOTITE4 ALIAS COTATE NEW via "sqlrdd", mas ele nao esta criando o indice e tambem fica criando indice dentro da tabela no sql

Obrigado 


 

A
 

Link to comment
Share on other sites

Pode ser que alguém tenha opinião diferente mas eu, particularmente, prefiro usar XBROWSE com ARRAY. Motivo: Com o tempo sua tabela vai conter milhares ou milhões de registros e quando isso acontecer, vai ficar muito lento o uso sem ARRAY.

Neste tópico eu postei um exemplo com paginação:

http://fivewin.com.br/index.php?/topic/29470-xbrowse-limitar-quantidade-de-registros/

Link to comment
Share on other sites

Caso use sr_setfilter, poderá indexar nós padrões SQLRDD.

Set index to "nrocota" additive // desta vc cria um índice temporário padrão SQLRDD.

Com select + dbusearea() vc ordena "order by"

Estas duas formas foram que encontrei para substituir o enunciado do escopo desta mensagem.

Além da opção do  usar XBROWSE com ARRAY, post de Ariston, muito útil, também uso o temporário em memória, uso recurso da própria SQLRDD,

consequentemente uso índices em memória, fica legal c/xbrowse, inclusive otimiza conversão de .PRG de DBF para SQLRDD, segue abaixo:

Sr_SetRddTemp("dbfcdx")

SR_GetConnection():Exec( cCmdSql,,.t.,,"mem:test" )   
Index on "nomedocampo" tag "01" memory

temp->(dbgotop())

xbrowse()

temp->(dbclosearea())

 

Link to comment
Share on other sites

Bom dia a todos

Fiz o teste usando o Sr_setfilter e a select 

Acabei optando pelo sr_setfilter pois na tela de cotacao os itens que estao no browse o cliente pode selecionar com um click o itens que ele vai enviar na cotacao

Ja na opcao select toda vez que ele clicar em selecionar o item eu tinha que atualizar a base de dados e fazer um nova select 

Porisso acabei optando pelo sr_setfilter pois ele ja faz atualizao na hora

Gostaria da opiniao de vcs sobre os pos e contra 

Obrigado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...