Clipper On Line • Ver Tópico - SQLRDD - Pareceb Bug Dbgoto

SQLRDD - Pareceb Bug Dbgoto

Discussão sobre SQL

Moderador: Moderadores

 

SQLRDD - Pareceb Bug Dbgoto

Mensagempor fladimir » 02 Ago 2012 00:35

Olá Senhores, estou me debatendo com um problema estranho....

Ao cadastrar bancos, eu adiciono o registro e ao inserir o codigo do banco ele executa uma validação através de uma função para ver se o banco já esta cadastrado, como faço um dbseek pra procurar o codigo do banco antes eu gravo a posição atual na tabela para depois voltar na posição q estava, mas esta dando um problema q ele ao executar o dbgoto(nPosRegNovo) se olho via Debug mostra EOF e BOF como .T. sendo q se executo passo a passo F8 não da o erro....

segue o código q faz a pesquisa

********************************************************************************
STATIC FUNCTION LocalizaBco(aCampos)
********************************************************************************
LOCAL nPosRegNovo := Bco->(RECNO())

IF EMPTY(aCampos[Codigo])
   RETURN( .F. )
ENDIF

// Aki se olho via debug esta BOF YES

IF Bco->( DBSEEK( aCampos[Codigo] ) ) .AND. nPosRegNovo != Bco->( RECNO() )
   Alert("Codigo ja cadastrado!")
   Bco->( DBGOTO(nPosRegNovo) )
   RETURN( .F. )
ENDIF

// Após o Seek esta BOF NO e EOF YES

Bco->( DBGOTO(nPosRegNovo) )

//Se eu olhar exatamente neste ponto após o Dbgoto ele fica BOF e EOF como YES ai retorna faço o cadastro mas ao confirmar na hora de gravar com um //commit da erro base/1081 de SR_WORKAREA:(0483)
//                                             SR_WORKAREA:(3168)
RETURN( .T. )


O Interessante q se eu fizer passo a passo pelo DEBUG (F8) não da o problema, ele nao fica BOF e EOF como YES q não tem lógica, pois como eu estava num registro novo via APPEND BLANK após o Seek ficou EOF, porém após o GOTO(Reg) ele tem q voltar para o registro q estava e não ficar EOF yes

Agora se eu colocar um ALTD() após o BCO->( dbgoto(nPosRegNovo)) eu consigo observar q fica BOF e EOF como YES, agora se eu coloco um ALTD() antes do goto e faço via F8 trabalha corretamente após o EOF yes o registro é posicionado novamente no registro novo q esta sendo cadastrado.

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor fladimir » 20 Ago 2012 20:32

Poxa ninguém q usa o SQLRDD tem alguma idéia???
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor sygecom » 20 Ago 2012 21:50

Olá Cassiano,
Eu já dei umas duas ou três lida e não consigo ver nenhum problema, uso o SQLRDD a um bom tempo e sem problemas e tenho alguns código muito parecido e sem problemas, sei lá, tente montar um exemplo com .PRG para o pessoal do xharbour.com compilar e tentar identificar o problema.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 6639
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 76 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor fladimir » 20 Ago 2012 22:31

Leo eu qdo postei agora por último pensei no seguinte... o Leonardo usa e não tem problema o q difere dele pra mim é o BD entao agora estou instalando o Postgres e vou testar e depois coloco aki...

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor fladimir » 20 Ago 2012 23:03

Bingo!!!

Era o BD... fui de Postgres WIN1252 template 0 funciona redondo...

Eu estava usando a ultima versão do Mysql com ENGINE InnoDB... alguém usa o sqlrdd com MySQL pra tirar a dúvida tipo qual versão e engine pra eu testar aki...

vlw Leo por servir de parametro... rsrsrs

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor sygecom » 20 Ago 2012 23:14

Menos mal que conseguiu achar o problema, mas se acontece isso com Mysql acho que seria o caso de reportar para o pessoal do xharbour.com para corrigirem o problema.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 6639
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 76 vezes

SQLRDD - Pareceb Bug Dbgoto

Mensagempor fladimir » 21 Ago 2012 00:06

Leo não sei mais nada, eu subi novamente minha base dbf para sql mas agora em mysql só q recriei a base com charset latin1 q antes estava com utf8 e aparentemente esta funcionando tb em mysql...

outro detalhe q se tive q deixar no inicio do meu programa é assim se não da problema:

   SR_UseDeleteds( .F. )     // .f.= NÃO MANTER REGISTROS DELETADOS NAS TABELAS .t. manter
//   SR_SetFastOpen(.T.)       // ABRE AS TABELAS EM MODO COMPARTILHADO
//   SR_SetGoTopOnScope(.F.)   // NÃO EXECUTA O DBGOTOP() AUTOMATICO NOS ORDSCOPE
//   SR_MaxRowCache( 100 )     // Determina o tamanho máximo teórico do cache de linhas da workarea
   SR_SetBaseLang( 2 )       // portugues
   SR_Msg(2)                 // portugues
   SR_SETSYNTHETICINDEX(.F.) // Força que os próximos índices criados sejam sintéticos(porem os indice ficam por conta apenas do SQLRDD)
   SR_SETSYNTHETICINDEXMINIMUN(10) //Configura a quantidade mínima de colunas na chave de índice para criá-lo como Sintético
//   SR_AllInCache(.T.)      // TRAZ TODOS OS REGISTRO NA ABERTURA DA TABELA
//   SR_FetchSize( 10 )
//   SR_ResetStatistics()
//   SR_AllInCache(.T.)                //testar o desempenho em rede POIS TRAZ AS TABELAS NA MEMORIA

     oSql   := SR_GetConnection()


se eu descomentar o fastopen e o setgotoponscope (na verdade não sei qual deles é pois comentei os 2 e funcionou) da problema tanto no postgres qto no mysql.

bom resumindo não entendi direito mas esta funcionando agora tanto em postgresql win1252 template 0 como em mysql innodb latin1

[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2363
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 137 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro