m.mac Posted October 2, 2006 Report Share Posted October 2, 2006 Olá, sei que várias pessoas aqui utilizam SqlLib e MySQL bem como Browse's para exibir dados. Pergunto: Alguém utiliza os recursos mencionados com xBrowse ? Pode postar um exemplo, pois estou conectando e abrindo o banco sem problemas, mas na hora de exibir no xBrowse o sistema simplesmente cai fora... Qual a melhor alternativa ao xBrowse para exibir dados MySQL/SqlLib ? Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 2, 2006 Author Report Share Posted October 2, 2006 Olá, sei que várias pessoas aqui utilizam SqlLib e MySQL bem como Browse's para exibir dados. Pergunto: Alguém utiliza os recursos mencionados com xBrowse ? Pode postar um exemplo, pois estou conectando e abrindo o banco sem problemas, mas na hora de exibir no xBrowse o sistema simplesmente cai fora... Qual a melhor alternativa ao xBrowse para exibir dados MySQL/SqlLib ? Quote Link to comment Share on other sites More sharing options...
vailtom Posted October 2, 2006 Report Share Posted October 2, 2006 No arquivo SQLLOG.TXT há alguma informaçao adicional sobre o erro? Vailton Renato *** #include "4evento_fw.ch" lAnsioso := Date() <= CTOD( '25/11/2006' ) if lAnsioso Alert( "Eu Apoio e vou ao :;" +; "IV ENCONTRO DE PROG. FW ;" +; "Dia : 25/11/2006 e vc?",{'Eu tb!','Claro!','Com cerveja!'}) end Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 2, 2006 Author Report Share Posted October 2, 2006 Não Vailtom, aliás o arquivo SQLLOG.TXT está vazio. Como disse, estou conseguindo abrir o banco normalmente, o problema está na hora de "conectá-lo" ao xBrowse. É Vailtom (nome de membro) ou Vailton (da assinatura) ? Quote Link to comment Share on other sites More sharing options...
vailtom Posted October 3, 2006 Report Share Posted October 3, 2006 Vailton Renato ... Vou tentar reproduzir isto q me falaste. Qual tua versão da SQL LIB e qual tua versão do xHB por favor ? Vailton Renato *** #include "4evento_fw.ch" lAnsioso := Date() <= CTOD( '25/11/2006' ) if lAnsioso Alert( "Eu Apoio e vou ao :;" +; "IV ENCONTRO DE PROG. FW ;" +; "Dia : 25/11/2006 e vc?",{'Eu tb!','Claro!','Com cerveja!'}) end Quote Link to comment Share on other sites More sharing options...
kleyber Posted October 3, 2006 Report Share Posted October 3, 2006 Olá m.mac (ainda não sabemos o seu nome), Poderias postar o código do xbrowse pra vermos como vc está fazendo? Abraço, Kleyber Derick xHarbour 0.99.4 + FWH 2.5 Visite São LuÃs - MA A Ilha dos Amores Quote Link to comment Share on other sites More sharing options...
Burai Posted October 3, 2006 Report Share Posted October 3, 2006 Olá! Embora eu não use a SQLLIB especificamente, mas o SQLRDD do xHarbout Builder, eu carrego todos os browses/listboxes com arrays. Executo minha query SQL e carrego os dados em array e monto o browse a partir do array. Eu prefiro, pois só carrego as colunas que me interessam... Bom, não conheço a SQL LIB, mas certamente deve ter esse recurso de carregar dados pra um array :-) [ ]'s Maurilio FWH 2.7 | xHarbour.com | SQLRDD | Workshop 4.5 Garça - SP Quote Link to comment Share on other sites More sharing options...
vailtom Posted October 3, 2006 Report Share Posted October 3, 2006 No manual consulte: SQLArray(), USE SQL. Um grande abraço à todos! Vailton Renato *** #include "4evento_fw.ch" lAnsioso := Date() <= CTOD( '25/11/2006' ) if lAnsioso Alert( "Eu Apoio e vou ao :;" +; "IV ENCONTRO DE PROG. FW ;" +; "Dia : 25/11/2006 e vc?",{'Eu tb!','Claro!','Com cerveja!'}) end Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 4, 2006 Author Report Share Posted October 4, 2006 Olá Kleyber e Vailton, me desculpem a distração.. Estou usando FW 2.7, xH 0.96 e a demo da SqlLib. Segue um teste simples que estou fazendo com MySQL/SqlLib/xBrowse: //====================================================== #include "FiveWin.ch" #include "sqllib.ch" #translate TRUE => .T. #translate FALSE => .F. REQUEST SQLLIB REQUEST MySQL Function Main() public oDlg public connect := true RDDSetDefault('MySQL') DEFINE DIALOG oDlg FROM 100, 100 TO 450, 600 PIXEL TITLE "SQL Lib" CLOSE ALL CheckConn() USE CLIENTES AS "SELECT CodiClie, NomeClie FROM Clientes ORDER BY CodiClie" VIA 'mysql' dbselectarea("CLIENTES") dbgotop() oBrw := TXBrowse():New( oDlg ) oBrw:cAlias := "Clientes" FOR i := 1 to FCOUNT() oCol := oBrw:AddCol() oCol:bStrData := {|| cValToChar( FIELDGET(i))} oCol:cHeader := FIELDNAME(i) NEXT i oBrw:nTop := 170 oBrw:nLeft := 2 oBrw:nRight := 450 oBrw:nBottom := 300 oBrw:nMarqueeStyle := 4 oBrw:SetRDD() oBrw:CreateFromCode() // *** AQUI CAI FORA *** ACTIVATE DIALOG oDlg CENTERED return nil //======================================================================= function CheckConn() static hasconnected := false local host, db, user, pwd /* É para se conectar novamente, mas já existe conexão aberta?*/ if connect .and. hasconnected hasconnected := false SQL DISCONNECT end if /* Já se conectou e não precisa se conectar novamente...*/ if hasconnected .and. !connect return nil end if if bRemote host := 'kssoftware.com.br' db := 'kssoftwa_sqllib' user := 'kssoftwa_sqllib' pwd := 'sqllib' else host := 'localhost' db := 'test' user := 'root' pwd := '' end if SQL CONNECT ON host; PORT 3306 ; DATABASE db ; USER user ; PASSWORD pwd ; LIB "MySQL" hasconnected := true return //======================================================================== Abraço, Marcelo Alessandro Quote Link to comment Share on other sites More sharing options...
kleyber Posted October 4, 2006 Report Share Posted October 4, 2006 Marcelo, Experimente trocar esta linha: citação:USE CLIENTES AS "SELECT CodiClie, NomeClie FROM Clientes ORDER BY CodiClie" VIA 'mysql' id=quote>id=quote>por: citação:USE CLIENTES id=quote>id=quote>E me diga o que acontece Abraço, Kleyber Derick xHarbour 0.99.4 + FWH 2.5 Visite São LuÃs - MA A Ilha dos Amores Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 4, 2006 Author Report Share Posted October 4, 2006 Kleyber, Colocando simplesmente "USE CLIENTES" o programa aborta nesta linha mesmo. Abraço, Marcelo Alessandro ------------------- Fwh 2.7/xH 0.99.4 (simplex)/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
Marca Posted October 4, 2006 Report Share Posted October 4, 2006 Ola Xara Vc já instalou o servidor mysql ou esta tentando usar a base do Renato Marcelo Ferro Fwh25/xHarbour 99.3/SqlLib /xMate/WS Quote Link to comment Share on other sites More sharing options...
laurenti Posted October 4, 2006 Report Share Posted October 4, 2006 Eu uso de duas formas, com o array ou tipo dbf . veja ai se te ajuda !!! //usando o browse com arquivo tipo dbf cCmdsql := 'select codigo, titulo from fpcodrec order by titulo' use sql cCmdSql alias consulta new via 'MYSQL' aCab :={'Codigo','Descricao da receita'} oLbxcons:= TWBrowse():ReDefine( 600,, oDlgcons,aCab,,,,,,,,,,,,, .F.,,,,, ) oLbxcons:nLineStyle := 2 oLbxcons:nHeaderStyle:= 2 oLbxcons:bBkColor:= {|nRow,nCol,nStyle| if( nStyle==1,CLR_RED, ) } oLbxcons:bTextColor:= {|nRow,nCol,nStyle| if( nStyle==1,CLR_YELLOW, ) } oLbxcons:bKeyDown:={|nKey| iif(nKey=VK_RETURN,troca(@lAlt,oDlgcons),busca(nKey,oDlgcons,cAlias,aoGetp,aGetp,@cPesq,cBusca,oLbxcons))} //USANDO O BROWSE COM O ARRAY DIRETO DO SELECT cCmdSql :='SELECT " " AS marca , "Adt.Dep" AS TIPO, DATA AS DATA, " " AS VENC, " " AS DOC, vlr_adiant AS VALOR, sql_rowid as reg, juros, conta FROM adtmes ' cCmdSql +='WHERE adt_creli IS NULL ' cCmdSql +='AND adt_retor IS NULL ' cCmdSql +='AND vlr_adiant <> 0 ' cCmdSql +='UNION ALL ' cCmdSql +='SELECT " " AS marca , "Titulos" AS TIPO, tit_emis AS DATA, tit_vcto AS VENC,tit_ndoc AS DOC,tit_valor AS VALOR, sql_rowid as reg, tit_tparc, clf_conta as conta FROM ep_tits AS tit ' cCmdSql +='WHERE tit.tit_vcto < curdate() AND tit.tit_pgto IS NULL ' cCmdSql +='AND tit.tit_creli IS NULL ' cCmdSql +='UNION ALL ' cCmdSql +='SELECT " " AS marca , "Desconto" AS TIPO, cdd_emis AS DATA, cdd_vcto AS VENC, cdd_ndoc AS DOC,cdd_valor AS VALOR, sql_rowid as reg, cdd_numero, clf_conta as conta FROM ep_desc AS cdd ' cCmdSql +='WHERE cdd_vcto < curdate() AND cdd_baixa IS NULL ' cCmdSql +='AND cdd_creli IS NULL ' cCmdSql +='ORDER BY (concat(conta,tipo)) ' aDocs:=SQLArray( cCmdSql, SqlGetConn() ) if !empty(aDocs) DEFINE DIALOG oDlg RESOURCE 'EXEMPLO' ICON oVS:vpoIco REDEFINE LISTBOX oLbx FIELDS iif(aDocs[olbx]=' ',aHBitMaps[1],aHBitMaps[2] ) ,; aDocs[olbx],aDocs[olbx], dtoc( FazData( aDocs[olbx],'AAAA-MM-DD' ) ),dtoc( FazData( aDocs[olbx],'AAAA-MM-DD' ) ),; aDocs[olbx],transform( val(aDocs[olbx]), oVS:nove ) ; HEADERS aHBitMaps[1],'Conta','Tipo','Emissao','Venc.','Doc','Valor' ; FIELDSIZES 20, 80, 80, 80, 80, 100, 100 ; COLORS CLR_BLUE,CLR_WHITE; ID 103 OF oDlg ; ON DBLCLICK MarcaDesVet(aDocs, oLbx) oLbx:aJustify:= { 2, 2, 2, 2, 2, 2, 3 } olbx:SetArray(aDocs) olbx:refresh() endif FW26/XH9950/Pelles/ Mysql laurentinocarlos@gmail.com Rio de Janeiro/Montes Claros MG Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 5, 2006 Author Report Share Posted October 5, 2006 Laurenti, obrigado pelas dicas. Porém acho que trabalhamos de formas diferentes, por exemplo, não uso recursos, não uso (por enquanto) browse com array e só uso xBrowse... :-) Estou relutando em trocar de classe browse pois já fiz vários ajustes no xBrowse e que pra mim ficaram bons. Meu problema está na hora de exibir o xBrowse. Carrego o servidor do MySQL, abro tabelas, exibo dados em outros objetos como o Combo por exemplo, mas quando chamo o método :CreateFromCode() do xBrowse o programa cai. Você tem algum exemplo de uso de xBrowse com RDD MySQL ?? Abraço Marcelo Alessandro ------------------ Fwh 2.7/xH 0.99.4/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
evandro Posted October 5, 2006 Report Share Posted October 5, 2006 Olá, Fiz pequenas alterações no seu exemplo, e coloquei para acessar a base remota (kssoftware.com.br) que o VaÃlton liberou para testes. Funciona normalmente. Veja abaixo: //====================================================== #include "FiveWin.ch" #include "sqllib.ch" #translate TRUE => .T. #translate FALSE => .F. REQUEST SQLLIB REQUEST MySQL Function Main() public oDlg public connect := true RDDSetDefault('MySQL') DEFINE DIALOG oDlg FROM 100, 100 TO 450, 600 PIXEL TITLE "SQL Lib" CLOSE ALL CheckConn() cCmdSql:='SELECT nome, cidade FROM cadacli ORDER BY nome' use sql cCmdSql alias cli new via 'MYSQL' dbselectarea("cli") dbgotop() @ 01, 01 LISTBOX oLbx FIELDS cli->nome, cli->cidade HEADERS 'Nome', 'Cidade' OF oDlg PIXEL SIZES 220, 720 //oBrw:CreateFromCode() // *** AQUI CAI FORA *** ///// deve ser algum problema com a tabela que estavas acessando ACTIVATE DIALOG oDlg CENTERED return nil //======================================================================= function CheckConn() static hasconnected := false local host, db, user, pwd /* É para se conectar novamente, mas já existe conexão aberta?*/ if connect .and. hasconnected hasconnected := false SQL DISCONNECT end if /* Já se conectou e não precisa se conectar novamente...*/ if hasconnected .and. !connect return nil end if host := 'kssoftware.com.br' db := 'kssoftwa_sqllib' user := 'kssoftwa_sqllib' pwd := 'sqllib' SQL CONNECT ON host; PORT 3306 ; DATABASE db ; USER user ; PASSWORD pwd ; LIB "MySQL" hasconnected := true return //======================================================================== []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Quote Link to comment Share on other sites More sharing options...
jcleoner Posted October 5, 2006 Report Share Posted October 5, 2006 Marcelo Antes de voce quebrar a cabeça, verifique se o xBrowse é compatÃvel com a SqlLib, pois o xBrowse não é o browse padrão do fivewin. Consulte o Vailton. Uso o twbrose e funciona perfeitamente, tanto para as tabelas como para arrays. José Carlos Guarulhos-SP FW 2.0 / Clipper 5.2e / WS | FWH 2.7 / xHarbour 99.51 / xDev / Pelles / SqlLib(MySql) Quote Link to comment Share on other sites More sharing options...
evandro Posted October 5, 2006 Report Share Posted October 5, 2006 Olá, citação:Antes de voce quebrar a cabeça, verifique se o xBrowse é compatÃvel com a SqlLib, pois o xBrowse não é o browse padrão do fivewin. id=quote>id=quote>Não há diferença entre um arquivo dbf e uma tabela SQL depois de abertos. É tudo a mesma coisa. Portanto não há incompatibilidade com qualquer browse (xBrowse, TWBrowuse, TSBrowse, etc.). Funciona com DBF, funciona com SQLLIB. []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 5, 2006 Author Report Share Posted October 5, 2006 Evandro, peguei o código que você postou e criei um novo .prg. Resultado: Conectou ao banco remoto normalmente, abriu a tabela sem problemas, mas... quando chegou na linha de montar o listbox (@ 01, 01 LISTBOX oLbx FIELDS ...) deu crepe !! Está muito estranho, observei agora que quando coloco um do while !eof() pra exibir os dados o programa aborta também... Poderia ser a configuração do meu servidor MySql ou do ambiente FWH ? ------------- E aà Vailton, o xBrowse é compatÃvel com a SqlLib ? Abraços, Marcelo Alessandro ------------------ Fwh 2.7/xH 0.99.4/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
evandro Posted October 5, 2006 Report Share Posted October 5, 2006 Olá, citação:Resultado: Conectou ao banco remoto normalmente, abriu a tabela sem problemas, mas... quando chegou na linha de montar o listbox (@ 01, 01 LISTBOX oLbx FIELDS ...) deu crepe !! id=quote>id=quote>Não é que deu crepe. É que com @SAY eu não vou ficar perdendo tempo de achar as coordenada para uma boa apresentação. citação:Está muito estranho, observei agora que quando coloco umdo while !eof() pra exibir os dados o programa aborta também... Poderia ser a configuração do meu servidor MySql ou do ambiente FWH ? id=quote>id=quote>Não deve ser. Poste a parte com o do while para vermos o que pode estar acontecendo. citação:E aà Vailton, o xBrowse é compatÃvel com a SqlLib ? id=quote>id=quote>Nem precisa do VaÃlton. Com certeza é compatÃvel. []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 5, 2006 Author Report Share Posted October 5, 2006 Olá Evandro, Quando digo que "deu crepe" não estou me referindo à apresentação mas sim que o programa aborta (encerra) nesta linha e volta o controle ao S.O. Quanto ao xBrowse ser compatÃvel com FW confesso que fiquei preocupado quando o José Carlos questinou e não tinha observado que você já havia respondido quando perguntei ao Vailton, de qualquer forma obrigado ! Segue apenas o trecho alterado que fiz pra testes: ... dbselectarea("cli") dbgotop() do while !eof() //APENAS PARA EXIBIR OS DADOS msginfo(FIELDNAME(recno()) + " - " + cValToChar(FIELDGET(recno()))) DBSKIP() enddo @ 01, 01 LISTBOX oLbx FIELDS cli->nome, cli->cidade HEADERS 'Nome', 'Cidade' OF oDlg PIXEL SIZES 220, 720 ... Obs: Se coloco simplesmente "MsgInfo(cValToChar(FIELDGET(recno())))" exibe normal a informação ("AAAAAAAAAABBBBBBE") da base do Vaiton. Abraço, Marcelo Alessandro ------------------ Fwh 2.7/xH 0.99.4/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
evandro Posted October 5, 2006 Report Share Posted October 5, 2006 Olá, Veja o erro que dá, pois se você não alterou nada no exemplo, roda legal. Mesmo as linha que você passou, que tem erro. O arquivo só tem dois campos( selecionamos nome e cidade apenas). Você pede para listar um campo maior que isto (fieldname( recno()) -> recno() =3, 4 ou mais ) do while !eof() //APENAS PARA EXIBIR OS DADOS msginfo(FIELDNAME(recno()) + " - " + cValToChar(FIELDGET(recno()))) DBSKIP() enddo Colei aqui no exemplo e rodou legal. []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Editado por - evandro on 05/10/2006 19:40:40 Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 6, 2006 Author Report Share Posted October 6, 2006 Evandro, Continua o problema e não sei mais o que pensar.. Se o servidor MySQL está instalado e rodando, abro as tabelas tanto local quanto remota sem problemas, se o ambiente xH/FW está certo (pois rodo meus projetos normalmente) não entendo por que numa linha simples como um "do while !eof()" ou quando mando desenhar um ListBox ou um Browse com os dados o programa aborta... Já verifiquei e o MySQL não está gerando nada no arquivo de Log. Estou pensando na configuração do Servidor MySQL instalado na minha máquina. Como fiz a primeira instalação agora imagino que tenha algo que não esteja corretamente configurado. Você (ou o Vailton) saberiam me passar a configuração básica e correta pro servidor MySQL apenas pra verificar ? Abraço, Marcelo Alessandro ------------------ Fwh 2.7/xH 0.99.4/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
evandro Posted October 6, 2006 Report Share Posted October 6, 2006 Olá, A configuração do servidor deve estar certa pois se você seguiu o default, vai funcionar. Mande novamente o prg (mas com o acesso à base remota, senão não tem jeito de testar) veja se gerou o errorlog e mande também. []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Editado por - evandro on 06/10/2006 13:37:28 Quote Link to comment Share on other sites More sharing options...
m.mac Posted October 6, 2006 Author Report Share Posted October 6, 2006 Evandro, enviei o .PRG. O SQLLOG.TXT está vazio. Abraço, Marcelo Alessandro ------------------ Fwh 2.7/xH 0.99.4/MED 3.02/xMate 1.15/Delphi 6.0/Firebird 1.5 Quote Link to comment Share on other sites More sharing options...
evandro Posted October 6, 2006 Report Share Posted October 6, 2006 Olá, Te respondi o emeio. O erro está aqui: msginfo(FIELDNAME(recno()) + " - " + cValToChar(FIELDGET(recno()))) Não pode ser fildname( recno() ) pois só temos dois campos. Troque por: for x=1 to 2 // aqui teria de colocar a qtde de campos. como eu sei que são dois.... msginfo( FIELDNAME(x) + " - " + cValToChar( FIELDGET(x)) ) next []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.