Vejam um programa Xharbour com Mysql

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Mensagem por janio »

Amigo Rochinha,

Refiz todos os passos... coloquei tudo EXATAMENTE como vc mencionou, mas ainda assim continua dando a mesma mensagem de erro no último passo... eu não sei mais o que fazer... preciso muito acertar esse negócio, pois tenho um cliente de médio porte e quero dar mais segurança a ele...

Continuo aguardando ajuda...

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

Voce acha que um cara entendido no SQL estaria por aqui, apesar do conhecimento poderoso contido neste forum, eles são como os Deuses do Olimpo, lindos, imortais, intocaveis e onipotentes.

Nós somos serem poderosos, mas ainda assim somos mortais e humanos.

Em suma somos heróis aventureiros, bandeirantes, desbravadores destemidos, cientistas sem causa a verdadeira pedra no sapato dos outros, amados por poucos e odiados por muitos.

Mas vamos lá:

1-) Pra que serve o ODBC?

O driver ODBC serve para fazer a ponte entre o seu aplicativo e a base de dados, sem ele voce não acessa as tabelas se o RDD suprido pelo seu aplicativo não os abre nativamente.

Com um driver ODBC adequado voce poderá acessar a base e obter o resultado de suas tabelas. Inclusive podendo acessar tabelas .DBF via ODBC, mas dependendo da ocasião não se obtem muito desempenho.

Ao usar um driver ODBC voce presisa ter linkado ao seu programa funções especiais preparadas para o driver.

2-) O MySql front é útil em que?

Esta ferramenta será util para criação dos bancos de dados, tabelas, indices, campos, etc. Assim como o DBU, DBE, WinDBU, dBase e Fox.

O gerenciamento ficará mais profissional do que o nosso método caótico de desenhar tabelas pelo HD em vários diretórios com grande possibilidade de esquecimento dos mesmos.

3-) No caso, pra quem usa o sistema em rede, esse procedimento postado aqui é somente para ser feito no SERVIDOR?

Sim. este método será aplicado uma unica vez, não sendo necessário faze-lo todo dia ou em todas as maquinas.

Os terminais precisarão apenas saber qual o IP do servidor e o resto fica por conta do Mediator.

Se voce pretende fazer isto em somente uma maquina, a mesma precisa ter os requisitos do servidor, ser no minimo da familia NT/200?/XP.

4-) Os comandos SELECT, INDEX, DBSETORDER(),...,..., continuam funcionando do mesmo jeito?

Acho que pelo menos somente os comandos que influem em arquivos e tabelas terão uma vida de modificações.

O RDD cliente linkado ao seu aplicativo dará suporte a novas funções especificas para pesquisa e manutenção das tabelas, ou seja, se voce usar FILE() para encontrar arquivos ele trara a resposta no seu sistema operacional, se HD, mas se usar a função MedFile() ela trara ressultados levantados dentro da base de dados.

O comando INDEX continua o mesmo e para voce verificar a existencia de uma tabela .CDX/.NTX deverá usar a função MedIsIdx().

O comando SELECT continua com sua função, mas leve em consideração não confundir o mesmo com os comandos SQL.

dbSetOrder() e OrdSetFocus() recebem mudanças, um segundo parametro que apenas indicará se a ordem pesquisada fará o trabalho pesado no servidor ou no cliente.

Em suma não será possivel usar dbUseArea() e outros dbFunção() em detrimento aos comandos de arquivos que o mediator possui. Verifique no manual e nos exemplos.

5-) Pra quem usa o índice CDX, o que muda nos PRG´s ??

O Mediator possui varias funções para tratamento destes arquivos inclusive com o tratamento das sub-filtragens como SCOPE, usando MedSetScpe() e MedClrScpe().

6-) A base de dados continua *.DBF e *.CDX?

A base de dados é incorporada as tabelas do MySQL sendo possivel o trabalho de manutenção por elas somente via MySQL-Front ou outro Frontier de gosto.

7-) Quem usa rede mista (Servidor windows 2003 server, estações win98, winXP) terá algum problema?

Não desde que o Mediator esteja instalado no sistema operacional de tecnologia NT/200?/XP de resto nada muda.

Ufa!

@braços :?)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

amigos, colegas....

estou ingressando nessa agora...
vou testar e reportar aqui minhas opinioes

valeu
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

e o motivo é que nesse exato momento, to criando um indice de um arquivo de 2gb e da pau em uma das tags porque o arquivo ta corrompido....

isso mesmo, tem um monte de registro com letras em campos numericos,
/-). em campos data e por ai vai sera que com essa solucao estarei definitivamente livre desses problemas ?

um detalhe o hd esta completamente fragmentado, no mapa do defrag aparece 90% vermelho
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

Uma coisa que vi neste RDD é a facilidade de migração. Ainda estou tomando um pau pois o manual é muito confuso e com poucos ou nenhum exemplo prático.

Temos que descobrir no braço. Vou tentar ler o manual do George Foreman Cokie para ver se tem mais exemplos.

Em relação ao RDD se voce fizer um .PRG que conecte-se a base de dados que voce criou e com um simples APPEND FROM puxar os dados do antigo .DBF tudo funciona legal.

REQUEST MEDNTX,DBFCDX
RDDSETDEFAULT('MEDCDX')
...
MedLogin(...)
USE tabela NEW SHARED // abre a tabela no MySQL ou MSSQL
APPEND FROM antigo VIA "DBFCDX" // abre a tabela antiga .DBF

No caso de usar o FOR / WHILE para indexar este não existe mais no Mediator, voce terá de usar:

USE teste
MedIdxSQL("estado = 'SP'") // filtra por esta critica
INDEX ON estado TO indice

Quanto a forma de trabalho com o RDD nunca dá certo usando as funções do Clipper/Harbour, ele trabalha melhor com comandos no formato tradicional:

USE ...
SELECT ...
INDEX ON ...
SET FILTER TO ...
SET ORDER TO ...

Quanto ao tamanho dos arquivos eles ficam menores no MySQL.

Estou fazendo um pequeno aplicativo para colocar aqui para testes, verificando e exemplificando o codigo.

@braços :?)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

seus exemplos sao mao-na-roda !!!!

obrigado,

pode usar tag no indice ?

pode usar select * ?

e pra abrir o dbf em outro local algo como use \\numeroip\server\c\dbf\arqdbf ?

pode criar views ?

valeu
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

rochinha escreveu:Amiguinhos

Passei a noite para criar este tutorial para mim e quero divulga-lo para todos. Ele se baseia no tutorial que o DUDU Apresentou, mas fiz algumas modificações de forma a torna-lo mais interativo, não só explicando mas também apresentando o que fazer, como fazer e com o que fazer.

Requisitos:

MySQL 4.0.20a-nt
MySQL-Front 2.1
MySQL Mediator Server Free

TUTORIAL

1 - Baixe o MySQL 4, não pode ser outra versão, pois o Mediator exige isto, prefira o MySQL em formato não instalável e descompacte-o na pasta MySQL.

1.1 - Abra o Prompt do DOS.
1.2 - Va ate a pasta C:\MYSQL.
1.3 - Execute o arquivo winmysqladmin.exe.

Para instalar o serviço MySQL faça assim:

Digite mysqld-nt -install para re-instala-lo ou digite mysqld-nt -remove para remover o servico do MySQL se estiver instalado.

2 - Baixe o MySQL Front 2.1, que é Free, pois as novas versões são pagas, trial, shareware, etc.

2.1 - Instale o MySQL Front e execute-o e conecte-se na conecção padrão sem modifica-la.
2.2 - Va em Tools/Create Database e crie um database com nome PDV2006
2.3 - Va em Tools/UserManager e coloque:

User - pdvmaster
Hostname - localhost
Password - pdvmaster

2.4 - Clique no botão Add User.
2.5 - Clique na aba Edit User.
2.6 - Clique no botão Refresh.
2.7 - Clique no botão Close.
2.8 - No menu File/Close feche a coneção e conecte-se novamente.

Em Conection to MySQL-Host:

2.9 - Clique em NEW e de o nome PDV2006 para sua conecção

Hostname - localhost
User - pdvmaster
Password - pdvmaster
Database - PDV2006

2.10 - Clique no botão Save.
2.11 - Clique no botão Connect.

2.12 - No menu File/Close feche a coneção e conecte-se novamente escolhendo PDV 2006 e coloque em:

User - pdvmaster
Password - pdvmaster
Database - PDV2006

2.13 - Clique no botão Save.
2.14 - Clique no botão Connect.

3 - Baixe o MySQL ODBC Driver 3.51 e instale-o.

3.1 - Va em Menu Iniciar/Configurações/Painel de Controle/Ferramentas Administrativas/Fontes de Dados (ODBC)

3.2 - Clique na aba System DSN/Fontes de dados de sistema .
3.3 - Clique no Botão Add/Adicionar.
3.4 - Selecione o MySQL ODBC 3.51.
3.5 - Clique em Concluir

Acrescente em:

Data Source Name - PDV2006
Database Name - PDV2006
User - pdvmaster
Password - pdvmaster

3.6 - Clique em Test Data Source e verifique se a resposta foi ...Connected Successfully..., senão refaça os passos novamente.
3.7 - Clique em OK
3.8 - Feche o painel Fontes de Dados (ODBC)

4 - Instale o RDD Mediator Server, procure na sua pasta de instalação pelo arquivo mediator.exe e execute-o.

4.1 - Clique em Start para iniciar o Mediator
4.2 - Clique em options
4.3 - Clique em Add no painel Users
4.4 - Marque a opção RDBMS no Painel users

Coloque em:

User - pdvmaster
Password - pdvmaster
Confirm - pdvmaster
Data Src. - pdv2006

4.5 - Clique em Ok e responda afirmativamente para inclusão do novo usuário e salve as configurações
4.6 - Clique em Save
4.7 - Clique em OK
4.8 - Minimize-o.

Coloque-o como serviço para que quando seu equipamento for iniciado ele comece a trabalhar:
4.9 - Vá na pasta do Mediator e digite medsvc -install.

5 - Faça o teste de conexão.

5.1 - O Mediator Client cria a pasta c:\MedCl, va na subpasta test e execute o programa hrbtest.exe

Username - pdvmaster
Password - pdvmaster
Data Src. - pdv2006
mediator IP - 127.0.0.1

Pronto! Se deu certo o programa exibe a mensagem : Conected to Mediator server...

6 - Compile o run1st.exe para teste.

6.1 - Altere a seguinte linha para:

logRes := MedLogin("","localhost","19C8","pdvmaster","pdvmaster","pdv2006")

6.2 - Compile com bld run1st. As tabelas CLPDB, CLPDB_MEMO, EMP e DEPT serão criadas.

PROBLEMAS OBTIDOS:

Eu já tinha o MySQL 4 instalado, mas quis instalar o MySQL 5, mas o serviço simplesmente não subia, em consequencia o serviço do MySQL 4 também parou de subir.

Instalei e desinstalei as duas versões várias vezes e nada.

Entrei no registro e detonei as chaves LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL e nada.

Então encontrei em meus diretórios o MySQL 3, instalei-o e o serviço subiu, mas o mesmo é incompativel com o Mediator que exige o MySQL 4.

Por consequencia o MySQL 5 também não é compativel com o Mediator.

Como o MySQL 3 subiu, fiz o seguinte:

Desliguei o serviço MySQL 3, descompactei o MySQL 4 em uma pasta temporária e copiei as pastas BIN, DATA e SHARE para o diretório onde instalei o MySQL 3.

Executei o winmysqladmin.exe e pronto. Não mexo mais.

@braços :?)
Bravo Rochinha... Simplesmente perfeito!!

Segui seu roteiro e realmente funcionou exatamente como descrito. A única diferença é que eu estava acostumado a criar os databases etc e tal na unha mesmo... hehehe. Eu não conhecia o MySQL-Front e para mim ele se revelou uma uma ótima ferramenta.

Concordo com vc qdo diz que falta estas funções para trabalhar com as tabelas em tempo de execução, mas a gente vai se virando como pode...


Na verdade postei aqui só pra dizer que funcionou, dar os parabéns pela sua iniciativa e encorajar os demais a seguirem o passo-a-passo acima.


Valeu...
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

Fico analtecido, mas o Dudu merece todo o crédito pois foi ele que plantou a semente, eu dei umas regadinhas e voces estão adubando.

Colhemos o que plantamos e os frutos desta arvore será de grande valia para nós e os outros que vierem a descansar sob sua sombra.

Vou continuar ajudando.

Quanto ao Trazom:

Sim. voce poderá e deverá usar os comandos na forma mais básica, pois as funções do RDD tem particularidades que não são compatíveis em primeiro estágio com as funçòes padrões xBase/Clipper/Harbour.

@braços :?)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
mou321
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 02 Mar 2006 09:29

Mensagem por mou321 »

Aproveitando Este Espaço Democrático..


- Meus Parabens Pelo Trabalho DUDU.

- Minha Opniao: Utilizei o Acesso Com Esse RDD , realmente ele é muito bom no que quisito compatibilidade mas deixa muito a desejar na questão de Acesso , velocidade.

- Depois que descobri a maneira VIA ADO.NET nao quero saber de outra coisa..

Abraço a Todos
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

entao ja que procuramos solucoes poderia nos explicar como é essa opcao que voce usa VIA ADO.NET ?
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
mou321
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 02 Mar 2006 09:29

Mensagem por mou321 »

um pequeno exemplo de Acesso VIA ADO



Código: Selecionar todos

*
*
* programa de Cadastro dos Investidores
* Autor..: Mauricio André Jordão
* Data...: 06/03/2006
*

#include "FiveWin.ch"
#include "Report.ch"
#include "InKey.ch"
#Include "adodb.ch"


//----------------------------------------------------------------//
function cine13()

   public oxget
   SET 3D LOOK ON
   oxget = space(45)
   oxget2 = space(45)

   DEFINE font xfont10 name 'Courier New' size 0,-8
   DEFINE font xfont9 name 'Courier New' size 0,-11
   DEFINE FONT XFONT8 NAME "Courier New" size 0,-12 BOLD
   DEFINE FONT xfont7 NAME "Courier" size 0,-7 BOLD
   DEFINE FONT XFONT6 NAME "Courier New" size 0,-11 BOLD
   DEFINE FONT XFONT5 NAME "Arial Black" size 0,-13 BOLD
   Define font xfont29 name 'Courier New' size 0,-13 bold
   Define font xfont30 name 'Courier New' size 0,-12 bold
   Define font xfont31 name 'Courier New' size 0,-11 bold

   Adoerr = 0
   invest   := tadodb():OPEN( ACCESS , "cinema.mdb", "investidores" , "empresa", "", "" ,.t.,@ADOERR)

   if !empty(adoerr)
      Return(nil)
   Endif


   Define dialog OD1 TITLE "Cadastro de Investidores" from 5,5 TO 35.8,104.5;
              Font ofont1 color f_fore6,f_back6 OF ownd ;


    @ 0,0 LISTBOX obox FIELDS invest:empresa, invest:cgc ;
                 SIZE 395,180 ;
                 COLSIZES 360  ;
                 color f_fore7,f_back7 ;
                 header  'EMPRESA' , "CGC";
                 font xfont8 ;
                 of od1

    oBOX:bLogicLen = { || INVEST:Count() }
    oBOX:bGoTop    = { || INVEST:GOTOP() }
    oBOX:bGoBottom = { || INVEST:GOBOTTOM() }
    oBOX:bSkip     = { | nSkip | INVEST:SKIP( nSkip ) }
    oBOX:cAlias    = "ARRAY"

   @ 200, 02  BTNBMP oBtnBmp1 PROMPT "Incluir" OF OD1 ;
             FILE "recurso\incluir.bmp" SIZE 55, 23 RIGHT ;
             action f7_incluir(obox,"I")

   @ 200, 62  BTNBMP oBtnBmp2 PROMPT "Alterar" OF OD1 ;
             FILE "recurso\alterar.bmp" SIZE 55, 23 RIGHT ;
             action f7_incluir(obox,"A")

   @ 200, 124  BTNBMP oBtnBmp3 PROMPT "Excluir" OF OD1 ;
             FILE "recurso\excluir.bmp" SIZE 55, 23 RIGHT ;
             action f7_exclui(obox)

   @ 200, 186  BTNBMP oBtnBmp4 PROMPT "Procurar" OF OD1 ;
             FILE "recurso\procura.bmp" SIZE 55, 23 RIGHT;
             action f7_proc(obox)

   @ 200, 340  BTNBMP oBtnBmp5 PROMPT "Sair" OF OD1 ;
              FILE "recurso\saida.bmp" SIZE 45, 23 RIGHT ;
              Action od1:end()

   Activate Dialog od1 centered

   invest:close()

return(nil)


************
***********
static function f7_incluir(Obox,tipo)
***********
************

local cSair   :=" "
if tipo = "I"
   V_titulo   = "Inclusão de Investidores"
   V_EMPRESA   = space(50)
Else
   V_titulo   = "Alteração de Investidores"
   V_empresa   = invest:adjuststr(invest:empresa,50)
end

Define dialog od3 TITLE v_titulo FROM 10,05 TO 19,70 ;
       icon oicon font Xfont6 OF Od1 color f_fore9,f_back9

@ 01,02 Say "EMPRESA.......:" of od3 color f_fore9,f_back9
@ 01,08 GET  V_empresa  pict "@!" of od3 valid !empty(v_empresa)

@ 40,168 BTNBMP oBtn11 PROMPT "Gravar" OF OD3 ;
             FILE "recurso\gravar.bmp" SIZE 47, 20 RIGHT ;
             Action (cSair:="*",oD3:End())

activate dialog od3 centered

if cSair="*"
   if tipo = "I"
      invest:append()
      invest:replace("empresa",v_empresa)
      invest:commit()
   else
      invest:replace("empresa",v_empresa)
      invest:commit()
   end
endif
obox:refresh()
return(nil)

************
***********
static function f7_proc(Obox)
***********
************

Define dialog od3 TITLE 'Procurar p/ item' fROM 10,05 TO 17,50 icon oicon font ofont1 OF Od1 color f_fore8,f_back8

@ 0.8,1 get oget45 var oxget PICT '@!' OF od3
@ 30,135 BTNBMP oBtnBmp5 PROMPT "OK" OF OD3 ;
             FILE "recurso\next.bmp" SIZE 35, 20 RIGHT ;
             Action od3:end()

activate dialog od3 centered

if !empty(oxget)
   if oxget # oxget2
     invest:gotop()
     oxget2 = oxget
   Endif
   invest:skip(1)
   cursorwait()
    While(.t.)
        if invest:eof()
           Msgalert("Nao Tem Ocorrencias","Aviso")
           invest:gotop()
           exit
        Endif
        if alltrim(oxget) $ (invest:empresa)
           rsp = msgnoyes("Achou -> "+alltrim(invest:empresa),"Continua Procura ?")
           if !rsp
              exit
           Endif
        Endif
        invest:skip(1)
    Enddo
    cursorarrow()
    Obox:REFRESH()
Endif


Return(nil)



//-----------------------------------------------------------
static function  f7_exclui(obox)
   if MsgYesNo( "Excluir este Registro ?", "Por Favor, confirme" )
      invest:DELETE()
      obox :Refresh()
   endif
return nil


//--------------------------------------------
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

show de bola!!!!!!!!!

onde tu aprendeu isso tudo junto ?
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

para quem gosta ler:
vejam o que achei a respeito

http://www.linhadecodigo.com.br/artigos.asp?id_ac=296

vale a pena
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
mou321
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 02 Mar 2006 09:29

Mensagem por mou321 »

EXCELENTE MATERIA TRAZOM

PESQUISA E LEITURA É MAIOR FONTE DE APRENDIZADO E GANHARAM REFORÇO COM A INTERNET..


EXPLICA MUITO AS VANTAGENS DO ACESSO ADO.NET



MAURICIO
mou321
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 02 Mar 2006 09:29

Mensagem por mou321 »

PARA COMEÇAR NESTE SITE TEM UM BOM MATERIAL SOBRE ADO.NET

http://www.w3schools.com/ado/met_rec_open.asp

http://www.connectionstrings.com/
Responder