BenyHapper
-
Posts
69 -
Joined
-
Last visited
Posts posted by BenyHapper
-
-
Vailton,
Boa notÃcia, como fazer para adquiri-la?
Temos para uma outra versão do Fivewin
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Alguém sabe se já existem libs para MySQL que suportem as novas versões do Fivewin 9.12, 10.1 com xHarbor 1.2.1 ?
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Alguém sabe se já existem libs para MySQL que suportem as novas versões do Fivewin 9.12, 10.1 com xHarbor 1.2.1 ?
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Vailton,
Desculpe não sabia que vc não faz parte do suporte, só tentei falar contigo, pois já tentei outros meios e não conseguir ser atendido, mas me informa qual o caminho devo seguir que eu o farei, pois eu sou quero saber se vai funcionar ou não, assim poderei decidir se vou fazer o investimento para aquisição da atualização ou se vamos deixar de utiliza-la.
Acho que o tempo de muita gente já foi tomado para resolver uma questão tão simples, poderia ao menos de dado uma desculpa para o compromisso marcado para as 10:00h de hoje.
kleyber valeu pela solidariedade, nós usamos os comando xBase suportados pela lib, pois acredito que é a vantagem dela, se for para usar comandos nativos do SQL, qual a necessidade da LIB?
Vc acessa remoto de que modo?
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Vailton,
POr favor disponibilize um tempo para que eu possa lhe demonstrar como a SQLLIB vem se comportando no acesso remoto e até demonstro outra aplicação acessando via ADO, para comparação de desempenho.
Quam sabe vc vendo, possa me informar se a nova versão da SQLLIB resolverá ou melhorará a questão, caso contrário, procuro outra solução e nós não perderemos mais tempo neste assunto.
No aguardo,
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Podiamos marcar eu lhe daria acesso a meu equipamento Via TEAM e vc veria como é o desempenho inclusive comparando com a aplicação web, acho que assim vc entenderá a questão.
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Valeu Vailton,
Quanto a conexão, nós fazemos a comparação com o próprio ADO da Microsoft, a mesma Base remota acessada via ADO e com a SQLLIB, a diferença de desempenho é gritante.
E como você lançou uma nova versão gostarÃamos de saber se o desempenho está o mesmo da lib que estamos usando, ou foi melhorado
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Até concordo contigo Kapiaba, mas vc sabe o que se fala não se escreve, a questão aqui é a documentação de qualquer solicitação, mas na segunda resolvo isso, mas O Vailton poderia ajudar, afinal para que serve os mails de suporte.
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Já madei diversos email nos vailtom@gmail.com, renato@kssoftware.com.br,suporte@sqllib.com.br
Tentei o MSN e nada, e não é a primeira vez que tenho dificuldade em ser atendido, acho que os emails devem ter algum bloqueio e não devem ser recebidos por eles, o problema é que minha empresa só permite contatos via escrita, para documentação, por isso nem tentei o telefones ainda, mas acho que terei de ligar e ver o que está acontecende.
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Bom dia Vailton, desculpe incomoda-lo por aqui mas é que já mandamos alguns e-mails e pode ser que os mesmos não estejam chegando até vocês são questões sobre a nova versão da SQLLIB
Qual o melhor email para envio destas questões? Abaixo email com as questões:
-----Mensagem original-----
De: Bene - Exatus.Net [mailto]
Enviada em: quinta-feira, 26 de novembro de 2009 13:09
Para: 'suporte@sqllib.com.br'; 'renato@kssoftware.com.br'
Assunto: Sobre nova versão da SQLLIB
Boa tarde Vailtom,
GostarÃamos de saber se na nova versão as sugestões abaixo foram implementadas e se o desempenho para uso da mesma com um servidor remoto foi melhorada, pois na versão anterior o desempenho é muito fraco a ponto de travar.
Estamos fazendo o questionamento para podermos fazer a atualização de versão, pois uma necessidade que temos é a conexão com um servidor remoto, e hoje a SQLLIB não é uma boa opção.
Bene
Exatus.Net
11 2227-3078
"Encaminhe suas dúvidas e solicitações para o email atendimento@exatus.net"
-----Mensagem original-----
De: Bene - Exatus.Net [mailto] Enviada em: quarta-feira, 8 de julho de 2009 17:36
Para: vailtom@gmail.com
Assunto: Sugestão SQLLIB verificar indices através do BD
Vailton,
Segue função para verificação dos keys de uma tabela
Function ExistKey(key,table)
Dim rsTabs,flag_
Call AbreConexao1() 'Abre uma conexao com o banco Set rsTabs=Conexao1.Execute("SHOW INDEX FROM "&table) 'Solicita a lista de KEYs da Tabela flag_ = false Do While Not rsTabs.EOF
If rsTabs("KEY_NAME") = key Then 'Verifica se existe a Key informada na tabela
flag_ = true
end if
rsTabs.MoveNext
Loop
Call FechaConexao1()
Set rsTabs=Nothing
ExistKey=flag_
End Function
A função retornar true para quando existir ou false quando não existir
Bene
Exatus.Net
-----Mensagem original-----
De: Bene - Exatus.Net [mailto] Enviada em: segunda-feira, 13 de julho de 2009 12:19
Para: vailtom@gmail.com
Assunto: Sugestão SQLLIB campo sql_deleted
Vailton,
Como a SQLLIB utiliza o campo sql_deleted, para a compatibilizar com a função SET DELETE do Fivewin, foi imaginado que somente o Fivewin utilizaria a base.
Mas aqui na Exatus nossas aplicações trabalham em conjunto com aplicações web e percebemos o seguinte problema:
Quando a aplicação web cadastra um registro, o mesmo não é visualizado na aplicação Fivewin. Isso ocorreu por que o campo sql_deleted não estava marcado como false.
Nossa sugestão é que este campo tenha um valor padrão: False, assim qualquer aplicação pode cadastrar sem ter que passar na instrução SQL o campo.
Outra situação já comentada anteriormente é a necessidade de não precisar passar o parametro de tamanho de alguns campos, pois os mesmos não são necessários, como por exemplo o campo datetime, text entre outros
Bene
Exatus.Net
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Bom dia Vailton, desculpe incomoda-lo por aqui mas é que já mandamos alguns e-mails e pode ser que os mesmos não estejam chegando até vocês são questões sobre a nova versão da SQLLIB
Qual o melhor email para envio destas questões? Abaixo email com as questões:
-----Mensagem original-----
De: Bene - Exatus.Net [mailto]
Enviada em: quinta-feira, 26 de novembro de 2009 13:09
Para: 'suporte@sqllib.com.br'; 'renato@kssoftware.com.br'
Assunto: Sobre nova versão da SQLLIB
Boa tarde Vailtom,
GostarÃamos de saber se na nova versão as sugestões abaixo foram implementadas e se o desempenho para uso da mesma com um servidor remoto foi melhorada, pois na versão anterior o desempenho é muito fraco a ponto de travar.
Estamos fazendo o questionamento para podermos fazer a atualização de versão, pois uma necessidade que temos é a conexão com um servidor remoto, e hoje a SQLLIB não é uma boa opção.
Bene
Exatus.Net
11 2227-3078
"Encaminhe suas dúvidas e solicitações para o email atendimento@exatus.net"
-----Mensagem original-----
De: Bene - Exatus.Net [mailto] Enviada em: quarta-feira, 8 de julho de 2009 17:36
Para: vailtom@gmail.com
Assunto: Sugestão SQLLIB verificar indices através do BD
Vailton,
Segue função para verificação dos keys de uma tabela
Function ExistKey(key,table)
Dim rsTabs,flag_
Call AbreConexao1() 'Abre uma conexao com o banco Set rsTabs=Conexao1.Execute("SHOW INDEX FROM "&table) 'Solicita a lista de KEYs da Tabela flag_ = false Do While Not rsTabs.EOF
If rsTabs("KEY_NAME") = key Then 'Verifica se existe a Key informada na tabela
flag_ = true
end if
rsTabs.MoveNext
Loop
Call FechaConexao1()
Set rsTabs=Nothing
ExistKey=flag_
End Function
A função retornar true para quando existir ou false quando não existir
Bene
Exatus.Net
-----Mensagem original-----
De: Bene - Exatus.Net [mailto] Enviada em: segunda-feira, 13 de julho de 2009 12:19
Para: vailtom@gmail.com
Assunto: Sugestão SQLLIB campo sql_deleted
Vailton,
Como a SQLLIB utiliza o campo sql_deleted, para a compatibilizar com a função SET DELETE do Fivewin, foi imaginado que somente o Fivewin utilizaria a base.
Mas aqui na Exatus nossas aplicações trabalham em conjunto com aplicações web e percebemos o seguinte problema:
Quando a aplicação web cadastra um registro, o mesmo não é visualizado na aplicação Fivewin. Isso ocorreu por que o campo sql_deleted não estava marcado como false.
Nossa sugestão é que este campo tenha um valor padrão: False, assim qualquer aplicação pode cadastrar sem ter que passar na instrução SQL o campo.
Outra situação já comentada anteriormente é a necessidade de não precisar passar o parametro de tamanho de alguns campos, pois os mesmos não são necessários, como por exemplo o campo datetime, text entre outros
Bene
Exatus.Net
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Luizão,
Muito obrigado pela sua ajuda, funcionou da maneira que você citou.
Fiquei decepcionado com o suporte da SQLLIB, nenhum contato dos caras, se se interessam em vender o pós você que se vire no forum, depois os desenvolvedores questionam o por que de ninguém dar valor a nossa profissão.
Até
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Tentei com a a versão XHB 1.1.0 e deu erro com a RTL.LIB.
Vejam se estou fazendo algo errado com as configurações para uso
Inicio do PRG
#include "sqllib.ch"
REQUEST SQLLIB
REQUEST MySQL
No xDev informei SIM para SQL Lib antes das Libs do Fivewin e SIM para RDD SQL LIB
Mas dá esso erro Error: Unresolved external '_HB_PCREPOS_LIBRARY' referenced from C:\C32\XHARBOUR\LIB\RTL.LIB|regex
O pior é que pensei em baixar o xHarbour do site Oficial, mas está na versão 1.20 ai só aumentaria meus problemas, pois a SQL LIB nem tem para essa versão
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Já mandei diversos emails para o suporte nem se deram ao trabalho de responder.
Baixei o Xharbour do tópico mas ele é a versão 1.1.0 e no meu pacote não tem a lib sqllib_xHB_110A.LIB. somente da versão A até a g.
Vou tentando, fazer o que.
Valeu pela ajuda aqui do forum
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Estou com um problema com a SQLLib adquirida recentemente
FIz a inclusão no meu projeto e ao compilar dá o seguinte erro:
slqlib.prg was compiled by older version PCODE version 7 in no longer supported
Alguem pode dar uma luz?
FWH8.01 + XHarbour0.99.71 + BCC5.5.1
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Estou com um problema com a SQLLib adquirida recentemente
FIz a inclusão no meu projeto e ao compilar dá o seguinte erro:
slqlib.prg was compiled by older version PCODE version 7 in no longer supported
Alguem pode dar uma luz?
FWH8.01 + XHarbour0.99.71 + BCC5.5.1
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Eu estou tendo problemas na hora para fazer o update de um registo quando eu não modifico nada, mas se eu modificar algo funciona sem problemas, um outro problema é quando eu recupero o conteúdo de um campo da base de dados, conseqüentemente a variavel é dimencionada para o tamanho do conteúdo e não para o tamanho definido na base de dados, o que atrapalha editar a informação no GET segue abaixo do PRG:
OBS: Não desejo usar LIBS de Terceiros, pois apesar de muito boas tratam de usar os acessos ao banco conforme o Clipper/Fivewin utilizam e eu por ter conhecimentos em desenvolvimento WEB, prefiro trabalhar diretamente com as instruções em SQL e ADO. O problema que enfrento é simplesmente com a integração destes conhecimentos com a liguagem Xharbour + Fivewin + ADO.
Agradeço a ajuda.
PRG
-------------------------------
#include "FiveWin.ch"
#include "TSButton.ch"
#include "Report.ch"
#include "InKey.ch"
#include "winapi.ch"
#Include "Struct.Ch"
FUNCTION Main()
PUBLIC oFontSay
PUBLIC oFontSayB
PUBLIC oFontGet
PUBLIC oFontBut
PUBLIC oFontTit
PUBLIC oFontChk
PUBLIC oFontLis
PUBLIC oBrushTela
PUBLIC USER
PUBLIC ACESSO
PUBLIC CODIGO
PUBLIC CONEXAO
PUBLIC TABELA
MFONTES()
SET TALK OFF
SET DATE FRENCH
SET BELL OFF
SET STAT OFF
SET SCORE OFF
SET WRAP ON
SET CURSOR OFF
SET DELETED ON
SET EPOCH TO 2000
SET DECIMAL TO 2
SET CENTURY ON
SET EXCLUSIVE OFF
SETHANDLECOUNT(250)
CONTINUAR=.F.
ORDLIST=0
DEFINE BRUSH oBrush COLOR nRGB(255,255,255)
DEFINE ICON oIcon FILE "WORKER.ICO"
DEFINE WINDOW oWnd FROM 0,40 to 40,120 TITLE "Administração de Clientes e Contatos";
BRUSH oBrush;
ICON oIcon;
@ 65,30 SBUTTON PIXELS PROMPT "&Entrar" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oWnd SIZE 40,12 ACTION (ListMunicipios())
SET MESSAGE OF oWnd to "EXATUS.NET" CENTERED
oItem := TMsgItem():New( oWnd:oMsgBar, dtoc(date()), 80,oFontsay,"R/W",,.T. )
oItem := TMsgItem():New( oWnd:oMsgBar, Alltrim(user), 80,oFontsay,"R/W",,.T. )
oItem := TMsgItem():New( oWnd:oMsgBar, "Versão: 11/05/2007", 140,oFontsay,"R/W",,.T. )
WNDCENTER( oWnd:hWnd )
ACTIVATE WINDOW oWnd
SysRefresh()
RETURN NIL
PROCEDURE MFONTES()
DEFINE FONT oFontsay NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontsayB NAME "Verdana" SIZE 0,-10 BOLD
DEFINE FONT oFontGet NAME "Verdana" SIZE 0,-9
DEFINE FONT oFontBut NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontTit NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontChk NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontLis NAME "Verdana" SIZE 0,-9
DEFINE BRUSH oBrushTela COLOR nRGB(236,233,216)
RETURN
PROCEDURE AbreConexao()
Try
Conexao:=CreateObject("ADODB.Connection")
Conexao:Open("driver=MySQL ODBC 3.51 Driver;server=localhost;uid=Teste;pwd=teste;database=clientsexatus")
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
Try
Tabela:=CreateObject("ADODB.Recordset")
Tabela:ActiveConnection = Conexao
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
RETURN
PROCEDURE FechaConexao()
Try
IF Tabela:State()<>0
Tabela:Close()
ENDIF
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
Try
IF Conexao:State()<>0
Conexao:Close()
ENDIF
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
RETURN
FUNCTION Browse(aq, cTitle, cListName, bNew, bModify, bDelete, bSearch, bList, bEdit )
LOCAL oDlg, oFont, oBrush
LOCAL btnNew, btnModify, btnDelete, btnSearch, btnList, btnEnd
LOCAL n,BORDEM
LOCAL CONTINUA:=.T.
LOCAL oReg,nReg
PUBLIC AQS
PUBLIC oLbx
AQS=AQ
MFONTES()
DEFAULT cTitle := "Browse", cListName := "Registros",;
bDelete := {|| oLbx:Setfocus()},;
bList := {|| oLbx:Setfocus()},BEDIT:=.F.
DEFINE DIALOG oDlg FROM 1, 5 TO 27, 79 TITLE cTitle FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION
@ 0.2,1.4 SAY "Total de Registros: " FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 58,7
@ 0.2,11 SAY oReg VAR nReg FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 216,7
IF AQ=1
nReg=STR(Tabela:RecordCount(),10)
oReg:Refresh()
Tabela:MoveLast()
FOR I=1 TO 16
IF !Tabela:BOF()
Tabela:Move(-1)
ENDIF
NEXT I
@ 1,1 LISTBOX oLbx FIELDS STR(Tabela:Fields("codigo"):Value,10),Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):Value ;
HEADERS "Código","UF","Municipio" SIZE 275,137 OF oDlg
oLbx:aColSizes :={60,100,200}
oLbx:aJustify :={.T.,.F.,.F.}
ENDIF
oLbx:nLineStyle :=3
oLbx:nClrBackFocus:=RGB(227,255,104)
oLbx:nClrForeFocus:=RGB(0,0,0)
oLbx:nClrPane :={|| IIF((oLbx:cAlias)->(ordlist())%2==0,nRGB(240,255,255),nRGB(230,230,230))}
oLbx:bLogicLen :={|| Tabela:RecordCount}
oLbx:bGoTop :={|| Tabela:MoveFirst()}
oLbx:bGoBottom :={|| Tabela:MoveLast()}
oLbx:bSkip :={| nSkip | Skipper(Tabela,nSkip)}
@ 156,027 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontBut COLOR 0,nRGB(255,255,255) PROMPT "&Inclui" btnNew FILE "INCLUI.FIG" SIZE 35,35 OF oDlg
@ 156,067 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Altera" btnModify FILE "ALTERA.FIG" SIZE 35,35 OF oDlg
@ 156,107 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Exclui" btnDelete FILE "EXCLUI.FIG" SIZE 35,35 OF oDlg
@ 156,147 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Procura" btnSearch FILE "PROC.FIG" SIZE 35,35 OF oDlg
@ 156,187 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "I&mprimir" btnList FILE "IMPRIME.FIG" SIZE 35,35 OF oDlg
@ 156,227 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Sair" btnEnd FILE "SAIR1.FIG" SIZE 35,35 OF oDlg
btnNew:bAction = If(bNew != nil,{|| Eval(bNew) ,oLbx:Refresh(),oLbx:SetFocus()},)
btnModify:bAction = If(bModify != nil,{|| Eval(bModify),oLbx:Refresh(),oLbx:SetFocus()},)
btnDelete:bAction = If(bDelete != nil,{|| Eval(bDelete),oLbx:Refresh(),oLbx:SetFocus()},)
btnSearch:bAction = If(bSearch != nil,{|| Eval(bSearch),oLbx:Refresh(),oLbx:SetFocus()},)
btnList:bAction = If(bList != nil,{|| Eval(bList) ,oLbx:Refresh(),oLbx:SetFocus()},)
btnEnd:bAction = {||oDlg:End(),SysRefresh()}
odlg:lhelpicon:=.f.
ACTIVATE DIALOG oDlg CENTERED
Conexao:Execute("Commit")
FechaConexao()
RETURN NIL
STATIC FUNCTION SKIPPER(oRsx,nSkip)
LOCAL nRec := oRsx:AbsolutePosition
oRsx:Move(nSkip)
IF oRsx:EOF; oRsx:MovePrevious(); ENDIF
IF oRsx:BOF; oRsx:MoveNext(); ENDIF
RETURN(oRsx:AbsolutePosition() - nRec)
FUNCTION ORDLIST()
IF ORDLIST=0
ORDLIST=1
RETURN 1
ELSE
ORDLIST=0
RETURN 2
ENDIF
RETURN 1
FUNCTION ListMunicipios()
MFONTES()
AbreConexao()
Tabela:CursorType = 1
Tabela:CursorLocation = 3
Tabela:LockType = 2
MSGRUN("Aguarde - Carregando Dados","Aguarde...",{||Tabela:Open("SELECT codigo,uf,municipio FROM uf USE INDEX(uf) ORDER BY uf")})
Browse(1,"Lista de Municipios","Lista de Municipios",{||NewMunicipios("I")},{||NewMunicipios("A")},{||EraseMunicipios(Tabela:Fields("codigo"):Value)})
SysRefresh()
RETURN
FUNCTION NewMunicipios(tipo)
PUBLIC codigo,uf,municipio
IF tipo="A"
codigo=Tabela:Fields("codigo"):Value
uf=ESPANTES(Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):DefinedSize)
municipio:=ESPANTES(Tabela:Fields("municipio"):Value,Tabela:Fields("municipio"):DefinedSize)
ENDIF
IF tipo="I"
codigo=0
uf=SPACE(2)
municipio=SPACE(30)
ENDIF
DEFINE DIALOG oDlg FROM 1,1 TO 12,39 TITLE "Cadastro de UF/Municipio" FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION
@ 0.35,0.35 SAY " " RAISED BOX COLOR CLR_BLACK,nRGB(248,248,248) SIZE 148,50 OF oDlg
@ 0.9,2 SAY "Código" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10
@ 1.8,2 SAY "UF" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10
@ 2.7,2 SAY "Municipio" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 40,10
@ 1.0,5 GET codigo FONT oFontGet size 30,11
@ 2.0,5 GET uf FONT oFontGet size 20,11
@ 3.0,5 GET municipio FONT oFontGet size 100,11
@ 65,30 SBUTTON PIXELS PROMPT "&Confirma" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (SaveMunicipios(tipo),oLbx:Refresh(),oDlg:End()) DEFAULT
@ 65,85 SBUTTON PIXELS PROMPT "C&ancela" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (oDlg:End())
odlg:lhelpicon:=.f.
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
FUNCTION SaveMunicipios(tipo)
IF tipo="A"
Tabela:Fields("uf"):Value:=ALLTRIM(uf)
Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)
Tabela:Update()
ENDIF
IF tipo="I"
Tabela:AddNew()
Tabela:Fields("uf"):Value:=ALLTRIM(uf)
Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)
Tabela:Update()
ENDIF
RETURN NIL
FUNCTION EraseMunicipios(cod)
IF MSGYESNO( "Deseja Excluir este Registro ?","AVISO DE EXCLUSÃO")
Tabela:Delete()
Tabela:UpdateBatch()
Tabela:MoveNext()
IF Tabela:EOF; Tabela:MovePrevious(); ENDIF
ENDIF
RETURN NIL
procedure espantes(VARIAVEL,TAMANHO)
RETURN ALLTRIM(VARIAVEL)+SPACE(TAMANHO-LEN(ALLTRIM(VARIAVEL)))
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Eu estou tendo problemas na hora para fazer o update de um registo quando eu não modifico nada, mas se eu modificar algo funciona sem problemas, um outro problema é quando eu recupero o conteúdo de um campo da base de dados, conseqüentemente a variavel é dimencionada para o tamanho do conteúdo e não para o tamanho definido na base de dados, o que atrapalha editar a informação no GET segue abaixo do PRG:
OBS: Não desejo usar LIBS de Terceiros, pois apesar de muito boas tratam de usar os acessos ao banco conforme o Clipper/Fivewin utilizam e eu por ter conhecimentos em desenvolvimento WEB, prefiro trabalhar diretamente com as instruções em SQL e ADO. O problema que enfrento é simplesmente com a integração destes conhecimentos com a liguagem Xharbour + Fivewin + ADO.
Agradeço a ajuda.
PRG
-------------------------------
#include "FiveWin.ch"
#include "TSButton.ch"
#include "Report.ch"
#include "InKey.ch"
#include "winapi.ch"
#Include "Struct.Ch"
FUNCTION Main()
PUBLIC oFontSay
PUBLIC oFontSayB
PUBLIC oFontGet
PUBLIC oFontBut
PUBLIC oFontTit
PUBLIC oFontChk
PUBLIC oFontLis
PUBLIC oBrushTela
PUBLIC USER
PUBLIC ACESSO
PUBLIC CODIGO
PUBLIC CONEXAO
PUBLIC TABELA
MFONTES()
SET TALK OFF
SET DATE FRENCH
SET BELL OFF
SET STAT OFF
SET SCORE OFF
SET WRAP ON
SET CURSOR OFF
SET DELETED ON
SET EPOCH TO 2000
SET DECIMAL TO 2
SET CENTURY ON
SET EXCLUSIVE OFF
SETHANDLECOUNT(250)
CONTINUAR=.F.
ORDLIST=0
DEFINE BRUSH oBrush COLOR nRGB(255,255,255)
DEFINE ICON oIcon FILE "WORKER.ICO"
DEFINE WINDOW oWnd FROM 0,40 to 40,120 TITLE "Administração de Clientes e Contatos";
BRUSH oBrush;
ICON oIcon;
@ 65,30 SBUTTON PIXELS PROMPT "&Entrar" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oWnd SIZE 40,12 ACTION (ListMunicipios())
SET MESSAGE OF oWnd to "EXATUS.NET" CENTERED
oItem := TMsgItem():New( oWnd:oMsgBar, dtoc(date()), 80,oFontsay,"R/W",,.T. )
oItem := TMsgItem():New( oWnd:oMsgBar, Alltrim(user), 80,oFontsay,"R/W",,.T. )
oItem := TMsgItem():New( oWnd:oMsgBar, "Versão: 11/05/2007", 140,oFontsay,"R/W",,.T. )
WNDCENTER( oWnd:hWnd )
ACTIVATE WINDOW oWnd
SysRefresh()
RETURN NIL
PROCEDURE MFONTES()
DEFINE FONT oFontsay NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontsayB NAME "Verdana" SIZE 0,-10 BOLD
DEFINE FONT oFontGet NAME "Verdana" SIZE 0,-9
DEFINE FONT oFontBut NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontTit NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontChk NAME "Verdana" SIZE 0,-11
DEFINE FONT oFontLis NAME "Verdana" SIZE 0,-9
DEFINE BRUSH oBrushTela COLOR nRGB(236,233,216)
RETURN
PROCEDURE AbreConexao()
Try
Conexao:=CreateObject("ADODB.Connection")
Conexao:Open("driver=MySQL ODBC 3.51 Driver;server=localhost;uid=Teste;pwd=teste;database=clientsexatus")
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
Try
Tabela:=CreateObject("ADODB.Recordset")
Tabela:ActiveConnection = Conexao
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
RETURN
PROCEDURE FechaConexao()
Try
IF Tabela:State()<>0
Tabela:Close()
ENDIF
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
Try
IF Conexao:State()<>0
Conexao:Close()
ENDIF
Catch e
MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))
End
RETURN
FUNCTION Browse(aq, cTitle, cListName, bNew, bModify, bDelete, bSearch, bList, bEdit )
LOCAL oDlg, oFont, oBrush
LOCAL btnNew, btnModify, btnDelete, btnSearch, btnList, btnEnd
LOCAL n,BORDEM
LOCAL CONTINUA:=.T.
LOCAL oReg,nReg
PUBLIC AQS
PUBLIC oLbx
AQS=AQ
MFONTES()
DEFAULT cTitle := "Browse", cListName := "Registros",;
bDelete := {|| oLbx:Setfocus()},;
bList := {|| oLbx:Setfocus()},BEDIT:=.F.
DEFINE DIALOG oDlg FROM 1, 5 TO 27, 79 TITLE cTitle FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION
@ 0.2,1.4 SAY "Total de Registros: " FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 58,7
@ 0.2,11 SAY oReg VAR nReg FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 216,7
IF AQ=1
nReg=STR(Tabela:RecordCount(),10)
oReg:Refresh()
Tabela:MoveLast()
FOR I=1 TO 16
IF !Tabela:BOF()
Tabela:Move(-1)
ENDIF
NEXT I
@ 1,1 LISTBOX oLbx FIELDS STR(Tabela:Fields("codigo"):Value,10),Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):Value ;
HEADERS "Código","UF","Municipio" SIZE 275,137 OF oDlg
oLbx:aColSizes :={60,100,200}
oLbx:aJustify :={.T.,.F.,.F.}
ENDIF
oLbx:nLineStyle :=3
oLbx:nClrBackFocus:=RGB(227,255,104)
oLbx:nClrForeFocus:=RGB(0,0,0)
oLbx:nClrPane :={|| IIF((oLbx:cAlias)->(ordlist())%2==0,nRGB(240,255,255),nRGB(230,230,230))}
oLbx:bLogicLen :={|| Tabela:RecordCount}
oLbx:bGoTop :={|| Tabela:MoveFirst()}
oLbx:bGoBottom :={|| Tabela:MoveLast()}
oLbx:bSkip :={| nSkip | Skipper(Tabela,nSkip)}
@ 156,027 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontBut COLOR 0,nRGB(255,255,255) PROMPT "&Inclui" btnNew FILE "INCLUI.FIG" SIZE 35,35 OF oDlg
@ 156,067 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Altera" btnModify FILE "ALTERA.FIG" SIZE 35,35 OF oDlg
@ 156,107 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Exclui" btnDelete FILE "EXCLUI.FIG" SIZE 35,35 OF oDlg
@ 156,147 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Procura" btnSearch FILE "PROC.FIG" SIZE 35,35 OF oDlg
@ 156,187 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "I&mprimir" btnList FILE "IMPRIME.FIG" SIZE 35,35 OF oDlg
@ 156,227 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Sair" btnEnd FILE "SAIR1.FIG" SIZE 35,35 OF oDlg
btnNew:bAction = If(bNew != nil,{|| Eval(bNew) ,oLbx:Refresh(),oLbx:SetFocus()},)
btnModify:bAction = If(bModify != nil,{|| Eval(bModify),oLbx:Refresh(),oLbx:SetFocus()},)
btnDelete:bAction = If(bDelete != nil,{|| Eval(bDelete),oLbx:Refresh(),oLbx:SetFocus()},)
btnSearch:bAction = If(bSearch != nil,{|| Eval(bSearch),oLbx:Refresh(),oLbx:SetFocus()},)
btnList:bAction = If(bList != nil,{|| Eval(bList) ,oLbx:Refresh(),oLbx:SetFocus()},)
btnEnd:bAction = {||oDlg:End(),SysRefresh()}
odlg:lhelpicon:=.f.
ACTIVATE DIALOG oDlg CENTERED
Conexao:Execute("Commit")
FechaConexao()
RETURN NIL
STATIC FUNCTION SKIPPER(oRsx,nSkip)
LOCAL nRec := oRsx:AbsolutePosition
oRsx:Move(nSkip)
IF oRsx:EOF; oRsx:MovePrevious(); ENDIF
IF oRsx:BOF; oRsx:MoveNext(); ENDIF
RETURN(oRsx:AbsolutePosition() - nRec)
FUNCTION ORDLIST()
IF ORDLIST=0
ORDLIST=1
RETURN 1
ELSE
ORDLIST=0
RETURN 2
ENDIF
RETURN 1
FUNCTION ListMunicipios()
MFONTES()
AbreConexao()
Tabela:CursorType = 1
Tabela:CursorLocation = 3
Tabela:LockType = 2
MSGRUN("Aguarde - Carregando Dados","Aguarde...",{||Tabela:Open("SELECT codigo,uf,municipio FROM uf USE INDEX(uf) ORDER BY uf")})
Browse(1,"Lista de Municipios","Lista de Municipios",{||NewMunicipios("I")},{||NewMunicipios("A")},{||EraseMunicipios(Tabela:Fields("codigo"):Value)})
SysRefresh()
RETURN
FUNCTION NewMunicipios(tipo)
PUBLIC codigo,uf,municipio
IF tipo="A"
codigo=Tabela:Fields("codigo"):Value
uf=ESPANTES(Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):DefinedSize)
municipio:=ESPANTES(Tabela:Fields("municipio"):Value,Tabela:Fields("municipio"):DefinedSize)
ENDIF
IF tipo="I"
codigo=0
uf=SPACE(2)
municipio=SPACE(30)
ENDIF
DEFINE DIALOG oDlg FROM 1,1 TO 12,39 TITLE "Cadastro de UF/Municipio" FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION
@ 0.35,0.35 SAY " " RAISED BOX COLOR CLR_BLACK,nRGB(248,248,248) SIZE 148,50 OF oDlg
@ 0.9,2 SAY "Código" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10
@ 1.8,2 SAY "UF" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10
@ 2.7,2 SAY "Municipio" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 40,10
@ 1.0,5 GET codigo FONT oFontGet size 30,11
@ 2.0,5 GET uf FONT oFontGet size 20,11
@ 3.0,5 GET municipio FONT oFontGet size 100,11
@ 65,30 SBUTTON PIXELS PROMPT "&Confirma" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (SaveMunicipios(tipo),oLbx:Refresh(),oDlg:End()) DEFAULT
@ 65,85 SBUTTON PIXELS PROMPT "C&ancela" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (oDlg:End())
odlg:lhelpicon:=.f.
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
FUNCTION SaveMunicipios(tipo)
IF tipo="A"
Tabela:Fields("uf"):Value:=ALLTRIM(uf)
Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)
Tabela:Update()
ENDIF
IF tipo="I"
Tabela:AddNew()
Tabela:Fields("uf"):Value:=ALLTRIM(uf)
Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)
Tabela:Update()
ENDIF
RETURN NIL
FUNCTION EraseMunicipios(cod)
IF MSGYESNO( "Deseja Excluir este Registro ?","AVISO DE EXCLUSÃO")
Tabela:Delete()
Tabela:UpdateBatch()
Tabela:MoveNext()
IF Tabela:EOF; Tabela:MovePrevious(); ENDIF
ENDIF
RETURN NIL
procedure espantes(VARIAVEL,TAMANHO)
RETURN ALLTRIM(VARIAVEL)+SPACE(TAMANHO-LEN(ALLTRIM(VARIAVEL)))
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Não será mais necessário a SQLLIB, encontrei alguns exemplos utilizando OLE que serviram para o que eu desejava fazer.
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Não será mais necessário a SQLLIB, encontrei alguns exemplos utilizando OLE que serviram para o que eu desejava fazer.
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Vailton,
Só ficou faltando informar como adquirir a versão free
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Eu pensei que a versão Free não tivesse apenas não tivesse as instruções amigavéis como APPEND, REPLACE, ZAP, PACK, DELETE do clipper/fivewin.
Mas que eu pudesse usar usar os comandos nativos da linguagem SQL como INSERT, UPDATE, DELETE, SELECT, ORDER BY
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Realmente existe a versão Free?
Já tentei o site oficial e até o e-mail contato@sqllib.com, e nada sem nenhuma resposta.
Alguém tem uma idéia de como obter a versão free?
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
-
Gostaria de saber onde conseguir a SQLLIB free além do site oficial, pois já me cadastrei lá e não recebo o mail para download, preciso também de alguns exemplos utilizando a free.
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP
LIB para MySQL FWH 9.12 xHarbour 1.2.1
in Programação
Posted
No momento estamos com a 9.12, mas logo atualizaremos para a 10.1
Bene
E-mail :benyhapper@hotmail.com
FWH801 / Xhar9971 / @Say
MSN: benyhapper@hotmail.com
São Paulo/SP