Luiz Arruda (ICO) Posted October 22, 2008 Report Share Posted October 22, 2008 Pessoal o que está errado nisto ai ??? aStru:={} AAdd(aStru,{"NOME","c",1,0}) AAdd(aStru,{"CPF","c",10,0}) AAdd(aStru,{"teste3","c",10,0}) AAdd(aStru,{"teste4","c",10,0}) AAdd(aStru,{"teste5","c",10,0}) DbCreate("test",aStru)id=code>id=code>? Table('test') // Tá Retornando .F. e na pasta DAT\test não tem nada.. tá vazia de tudo Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Pessoal o que está errado nisto ai ??? aStru:={} AAdd(aStru,{"NOME","c",1,0}) AAdd(aStru,{"CPF","c",10,0}) AAdd(aStru,{"teste3","c",10,0}) AAdd(aStru,{"teste4","c",10,0}) AAdd(aStru,{"teste5","c",10,0}) DbCreate("test",aStru)id=code>id=code>? Table('test') // Tá Retornando .F. e na pasta DAT\test não tem nada.. tá vazia de tudo Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
jc Posted October 22, 2008 Report Share Posted October 22, 2008 Luiz, A única coisa que vejo que poderia ser motivo é o nome "test". O MySQL possui um database com esse mesmo nome (oq não tem nada a ver pq vc estaria criando uma tabela e não um database). Experimenta colocar outro nome para a tabela... de repente, o mysql possui alguma palavra reservada "test" para qualquer coisa... O resto, pelo que conheço, tá todo certinho mesmo! -- Júlio César M. Ferreira www.rsconsultores.com.br Fone: (81) 4009.5444 Fax: (81) 4009.5400 E-mail: julio.mferreira@gmail.com MSN: julio_mferreira@hotmail.com Recife - PE FWh 8.08/ xHarbour 1.1.0/ xDevStudio 0.72/ SQL LIB 1.9/ Pelles 5.00.1 Quote Link to comment Share on other sites More sharing options...
vailtom Posted October 22, 2008 Report Share Posted October 22, 2008 ñ há nada de errado... consta algo no SQLLOG.TXT ??? Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Jc / Vailton Dentro de DATA\Criei uma pasta TESTE e conectei assim; SQL CONNECT ON "localhost"; DATABASE "teste" ; USER "root" ; PASSWORD 'MInhaSenha'; LIB 'MySQL' id=code>id=code>Dentro da pasta TESTE foi criado então a tabela foi criada não é mesmo ??? e agora como adiciono Registros nela ?? Fiz um browse e tá tudo branco Obrigado.. Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 22, 2008 Report Share Posted October 22, 2008 Ico, como vcoe vai usar a SqlLIb, com comandos SQL ou com comandos para DBF , se for usar com comandos DBF é só usar os repalces normalmente, se for usar com comandos SQL, vai inserir dados com O sqlexec("isert into ....") ex: Da uma olhada nesse sample para preencher uma base de dados e mostrar no browse() Func main() #include "MyInclude.ch" REQUEST MySQL,SQLLIB RDDSETDEFAULT("MySql") DBSETDRIVER("MySql") SQL CONNECT ON 'localhost'; PORT 3306 ; DATABASE 'Mydatabase'; USER 'root'; PASSWORD 'adm'; LIB 'MySQL' IF SQLErrorNO() > 0 alert('Não conectou') quit endif vRet=SQLEXEC("USE Mydatabase") iif(vRet=.f.,msgstop("Não foi possivel abrir database"),) vRet:=SQLEXEC("CREATE TABLE IF NOT EXISTS CLIENT("+; "cod INT(05) NOT NULL AUTO_INCREMENT,"+; "nome CHAR(50),"+; "endereco CHAR(50),"+; "bairro CHAR(50),"+; "cidade CHAR(50),"+; "estado CHAR(02),"+; "Cep CHAR(09),"+; "tel CHAR(13),"+; "fax CHAR(13),"+; "email CHAR(50),"+; "site CHAR(50),"+; "cnpj int(18),"+; "cpf int(18),"+; "ie int(15),"+; "datcad CHAR(10),"+; "PRIMARY KEY (COD))") iif(vRet=.f.,("Não foi possivel criar Tabela *Clientes*"),) vnome:="uZumaki Naruto" vEndereco:="xxx" vBairro:="xxxx" vCidade:="xxx" vEstado:="XX" ncont=0 nStart=seconds() msginfo("init into to database") do while ncont++<=1000 SQLEXEC('INSERT INTO CLIENT(nome,endereco) Values('+"'"+vNome+"','"+vEndereco+"')")=.f. enddo msginfo("fim"+" "+ str(Seconds()-nStart))//para ver a velociada de da coisa use client via "mysql" browse() id=code>id=code>____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Naruto .. agora lascou de vex na pasta DATA\test foi criada client.frm, não sei PQ. se to conectando como TESTE alem de criar na pasta test dá uma monte de erro e o browse continua mostrando vazio... Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 22, 2008 Report Share Posted October 22, 2008 citação:Naruto .. agora lascou de vex na pasta DATA\test foi criada client.frm, não sei PQ. se to conectando como TESTE alem de criar na pasta test dá uma monte de erro e o browse continua mostrando vazio... id=quote>id=quote> Vamos por partes, precisamos saber como voce esta usando a SQLlib , é com comandos SQL ou os comandos DBF coloca o codigo aqui pra gente dar uma olhada... ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Erro nesta Linha.. nem passa na compilação SQLEXEC('INSERT INTO CLIENT(nome,endereco) Values('+"'"+vNome+"','"+vEndereco+"')")=.f. o erro é este: Error E0022 Invalid lvalue: '()' id=code>id=code>Se eu Comento ela compila.. mas após conectar dá esse outro erro.. Error description: Error SQLLIB/1001 MySQL RDD: Can't create table '.\test\sql$indexes.frm' (errno: 121)id=code>id=code>e agora... Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 o Código é esse ai.. do jeito q C passou.. #Include "FiveWin.ch" #Include "sqllib.ch" FUNCTION MAIN() REQUEST SQLLIB REQUEST MySQL RDDSETDEFAULT("MySql") DBSETDRIVER("MySql") //---------------------LOCALIZAR O GPF SetUnhandledExceptionFilter( @GpfHandler() ) SQL CONNECT ON "localhost"; DATABASE "test" ; USER "root" ; PASSWORD 'MynhaSenha'; LIB 'MySQL' IF SQLErrorNO() > 0 Alert("Não Conectou") Else Alert("Conectou") endif *aStru:={} * AAdd(aStru,{"NOME","c",1,0}) * AAdd(aStru,{"CPF","c",10,0}) * AAdd(aStru,{"teste3","c",10,0}) * AAdd(aStru,{"teste4","c",10,0}) * AAdd(aStru,{"teste5","c",10,0}) *DbCreate("test",aStru) vRet=SQLEXEC("USE test") iif(vRet=.f.,msgstop("Não foi possivel abrir database"),) //------------------------------------------------------------------ vRet:=SQLEXEC("CREATE TABLE IF NOT EXISTS CLIENT("+; "cod INT(05) NOT NULL AUTO_INCREMENT,"+; "nome CHAR(50),"+; "endereco CHAR(50),"+; "bairro CHAR(50),"+; "cidade CHAR(50),"+; "estado CHAR(02),"+; "Cep CHAR(09),"+; "tel CHAR(13),"+; "fax CHAR(13),"+; "email CHAR(50),"+; "site CHAR(50),"+; "cnpj int(18),"+; "cpf int(18),"+; "ie int(15),"+; "datcad CHAR(10),"+; "PRIMARY KEY (COD))") iif(vRet=.f.,("Não foi possivel criar Tabela *Clientes*"),) vnome:="uZumaki Naruto" vEndereco:="xxx" vBairro:="xxxx" vCidade:="xxx" vEstado:="XX" ncont=0 nStart=seconds() msginfo("init into to database") do while ncont++<=1000 //SQLEXEC('INSERT INTO CLIENT(nome,endereco) Values('+"'"+vNome+"','"+vEndereco+"')")=.f. enddo msginfo("fim"+" "+ str(Seconds()-nStart))//para ver a velociada de da coisa use client via "mysql" browse() id=code>id=code>id=size2> Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 22, 2008 Report Share Posted October 22, 2008 Então no caso voce vai usar comandos SQL ! voce ja verificou se a Tabela CLIENT ,realmente foi criada! comente o resto do codigo, e deixe somente esta parte.. #Include "FiveWin.ch" #Include "sqllib.ch" FUNCTION MAIN() REQUEST SQLLIB REQUEST MySQL RDDSETDEFAULT("MySql") DBSETDRIVER("MySql") SQL CONNECT ON "localhost"; DATABASE "test" ; USER "root" ; PASSWORD 'MynhaSenha'; LIB 'MySQL' IF SQLErrorNO() > 0 Alert("Não Conectou") Else Alert("Conectou") endif vRet=SQLEXEC("USE test") iif(vRet=.f.,msgstop("Não foi possivel abrir database"),) vRet:=SQLEXEC("CREATE TABLE IF NOT EXISTS CLIENT("+; "cod INT(05) NOT NULL AUTO_INCREMENT,"+; "nome CHAR(50),"+; "endereco CHAR(50),"+; "bairro CHAR(50),"+; "cidade CHAR(50),"+; "estado CHAR(02),"+; "Cep CHAR(09),"+; "tel CHAR(13),"+; "fax CHAR(13),"+; "email CHAR(50),"+; "site CHAR(50),"+; "cnpj int(18),"+; "cpf int(18),"+; "ie int(15),"+; "datcad CHAR(10),"+; "PRIMARY KEY (COD))") id=code>id=code> Uma dica, voce pode fazer verificação, usando o prompt do mysql o MySQL Command Line Clientid=red> que esta na pasta do mysql no menu iniciar veja na imagem id=blue> http://img84.imageshack.us/my.php?image=imagemlz4.jpg Existe tbm algumas IDE´s para voce administrar sua base de dados, no caso eu to usando para verificar se deu tudo certo assim como se usa o o prompt do mysql, só que visual estou usando o "navicat" para o que preciso no momento me serve Da um manjo aqui http://img362.imageshack.us/my.php?image=imagemtt4.jpg ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Quote Link to comment Share on other sites More sharing options...
vailtom Posted October 22, 2008 Report Share Posted October 22, 2008 Acho que o erro cometido foi na parte do "Dentro de DATA\Criei uma pasta TESTE e conectei assim..." Para criar uma pasta usa-se o comando SQL "CREATE DATABASE" e nunca deve-se mexer diretamente na pasta de dados do banco. Para criar um tabela, pode-se usar o DBCreate() ou o comando SQL "CREATE TABLE..." Ico, o MySQL mantem um dicionario de dados internos com informações para melhor performance e outros detalhes que podem ser seriamente prejudicados se mexermos em algo incorretamente... Minha sugestão é usar o EMS MySQL Manager Lite ou algum correspondente para manipular os dados. Qqer coisa dê DROP DATABASE nos bancos que você criou e reinicie os testes e qqer coisa dá um grito aê. Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Sei que tá todo mundo querendo ajudar.. e agradeço pela força.. Mas Eu não sei nada sobre MySql/SqlLIB, o que eu gostaria de saber é o básicão mesmo.. 1)-Como Criar DataBase 2)-Como Criar Tabela 3)-Como Abrir Tabela 4)-Como Inserir Dados(registros) na Tabela Tendo isso em mente, o resto a gente corre atrás.. Este exemplo que postei acima (DbCreate()), eu consegui mexendo no manual da SqlLIB, mas para mim que sou "Cru" duma vez no negócio se torna dificil pegar um manual gigantesco e saber onde procurar... Mas mesmo assim vou aqui perreando com ele.. mas uma vez obrigado.. Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
ZECA Posted October 22, 2008 Report Share Posted October 22, 2008 citação:Sei que tá todo mundo querendo ajudar.. e agradeço pela força.. Mas Eu não sei nada sobre MySql/SqlLIB, o que eu gostaria de saber é o básicão mesmo.. 1)-Como Criar DataBase 2)-Como Criar Tabela 3)-Como Abrir Tabela 4)-Como Inserir Dados(registros) na Tabela Tendo isso em mente, o resto a gente corre atrás.. Este exemplo que postei acima (DbCreate()), eu consegui mexendo no manual da SqlLIB, mas para mim que sou "Cru" duma vez no negócio se torna dificil pegar um manual gigantesco e saber onde procurar... Mas mesmo assim vou aqui perreando com ele.. mas uma vez obrigado.. Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com id=quote>id=quote>Boa tarde !!! Faço coro ao ico e peço mais: Um programa básico que criasse uma base de dados->tabela->browse basico(com incluir/excluir e etc...) para gente ter uma idéia. Quando comecei no fivewin foi dificil entender a dinamica de um programa for windows. O mesmo está acontecendo agora que estou tentando mudar do dbf para o SQL. Quero mudar para SQL e não apenas "turbinar" o DBF Sds José Carlos - ZECA fw23c-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 iiiPi! iiPi!! URRA.. Consegui Criar uma tabela em DATA\Test e Inserir Campos nela.. Agora vou ao próximo passo... incluir Registros .. Obrigado a todos que perderam um pouco de seu tempo tentando ajudar.. Mas ainda tô precisando de uma ajudinha he! he! he!id=size1> Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 22, 2008 Report Share Posted October 22, 2008 citação:iiiPi! iiPi!! URRA.. Consegui Criar uma tabela em DATA\Test e Inserir Campos nela.. Agora vou ao próximo passo... incluir Registros .. Obrigado a todos que perderam um pouco de seu tempo tentando ajudar.. Mas ainda tô precisando de uma ajudinha he! he! he!id=size1> Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com id=quote>id=quote>Agora é isso aqui SQLEXEC('INSERT INTO CLIENT(nome,endereco) Values('+"'"+vNome+"','"+vEndereco+"')") ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 citação: citação:iiiPi! iiPi!! URRA.. Consegui Criar uma tabela em DATA\Test e Inserir Campos nela.. Agora vou ao próximo passo... incluir Registros .. Obrigado a todos que perderam um pouco de seu tempo tentando ajudar.. Mas ainda tô precisando de uma ajudinha he! he! he!id=size1> Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com id=quote>id=quote>Agora é isso aqui SQLEXEC('INSERT INTO CLIENT(nome,endereco) Values('+"'"+vNome+"','"+vEndereco+"')") ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX id=quote>id=quote>Grande Eder.. é Exatamente como to fazendo, mas o browse mostra vazio. em branco, sem nada dentro.. veja ai meu teste... cNome := "Luiz Arruda" cCpf := "500000000-01" SQLEXEC('INSERT INTO Pessoal(nome,cpf) Values('+"'"+cNome+"','"+ccpf+"')") id=code>id=code>Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 Putz!! Eu tava tentando executar o comando antes de "abrir" a tabela.. Agora deu Certo... Outra Coizita.. e as outras funções que a gente usa no FWH vão continuar da mesma forma ?? ou temos que refazer tudo ?? Um Abração... Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
jc Posted October 22, 2008 Report Share Posted October 22, 2008 Luiz, Lembra do comentário do Vailton sobre não criar bancos de dados pelo diretório do MySQL e sim pelos comandos da SQLLIB... O resto tá filé demais! Daqui a pouco vc vai ser mais um no mundo SQL... sem comparação! -- Júlio César M. Ferreira www.rsconsultores.com.br Fone: (81) 4009.5444 Fax: (81) 4009.5400 E-mail: julio.mferreira@gmail.com MSN: julio_mferreira@hotmail.com Recife - PE FWh 8.08/ xHarbour 1.1.0/ xDevStudio 0.72/ SQL LIB 1.9/ Pelles 5.00.1 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 22, 2008 Author Report Share Posted October 22, 2008 citação:Luiz, Lembra do comentário do Vailton sobre não criar bancos de dados pelo diretório do MySQL e sim pelos comandos da SQLLIB... O resto tá filé demais! Daqui a pouco vc vai ser mais um no mundo SQL... sem comparação! -- Júlio César M. Ferreira www.rsconsultores.com.br Fone: (81) 4009.5444 Fax: (81) 4009.5400 E-mail: julio.mferreira@gmail.com MSN: julio_mferreira@hotmail.com Recife - PE FWh 8.08/ xHarbour 1.1.0/ xDevStudio 0.72/ SQL LIB 1.9/ Pelles 5.00.1 id=quote>id=quote>Julio.. já dei uma passo a frente Já criei tudo, inclusive inserir registros na tabela.. o que tá pegando é que nada mas funciona tipo; Append Blank Replace Seek Index on Tentei criar um INdex assim sqlexec("create index Nome_index on Pessoal (NOME)")id=code>id=code>Não deu erro nem um, mas não dá Seek na Tabela Retorna um erro que esse comando não é suportado e vai pro pau.. como vamos dar um seek na tabela então ??? Sendo assim terei que aprender a programar em MysQL ?? Vi tb. em outro tópico que não é possivel com a SqlLIB Free criar Indixes.. acho que p/ mim não vai servir.. tudo que faço é em cima de Indices... To apanhando que nem doido revoltado... Dá uma luzinha ai vai... Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 22, 2008 Report Share Posted October 22, 2008 citação:Vi tb. em outro tópico que não é possivel com a SqlLIB Free criar Indixes.. acho que p/ mim não vai servir.. tudo que faço é em cima de Indices... id=quote>id=quote>Criar até cria, mas usando comandos SQL SELECT FROM & lOCATE dependendo do tamanho "estimado" da tabela nem precisa... té++ ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Quote Link to comment Share on other sites More sharing options...
jcleoner Posted October 22, 2008 Report Share Posted October 22, 2008 Olá Num encontro anterior fiz essa apresentação em powerpoint onde explicava como migrar do dbf p/ mysql Vejam se serve de ajuda. http://www.vimatec.com.br/vimatec/Migracao.ppt Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 23, 2008 Author Report Share Posted October 23, 2008 JCleoner já to baixando.. Naruto citação:Criar até cria, mas usando comandos SQL SELECT FROM & lOCATE id=quote>id=quote>Quer me matar de curiosidade é ?? Mostra ai como vai... Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted October 23, 2008 Report Share Posted October 23, 2008 ... Se voce der uma olhada na criação da tabela, notara que um indice ja foi criado =) vRet:=SQLEXEC("CREATE TABLE IF NOT EXISTS CLIENT("+; "cod INT(05) NOT NULL AUTO_INCREMENT,"+; id=red> "nome CHAR(50),"+; "endereco CHAR(50),"+; "bairro CHAR(50),"+; "cidade CHAR(50),"+; "estado CHAR(02),"+; "Cep CHAR(09),"+; "tel CHAR(13),"+; "fax CHAR(13),"+; "email CHAR(50),"+; "site CHAR(50),"+; "cnpj int(18),"+; "cpf int(18),"+; "ie int(15),"+; "datcad CHAR(10),"+; "PRIMARY KEY (COD))")id=red> id=code>id=code>Criar um indice sqlexec("CREATE INDEX ON client index_name (index_col_name)") // assim é a forma mais simples de se criar... http://dev.mysql.com/doc/refman/4.1/pt/create-index.html ____________________________ Eder Xavier Msn:eder_xavier_2@hotmail.com C:\Xharbour Free\fivewin 8.05\workshop\VSX Editado por - naruto uZumaki on 23/10/2008 08:50:22 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted October 23, 2008 Author Report Share Posted October 23, 2008 Valeu Eder.. Fiz um teste com a Versão Comercial DEMO e sinceramente to impressionado.. acaba-se as dores de cabeça.. Agora com esse seu index como vc. dá um Seek ?? Luiz Arruda FWH24-WS-xHB 9950-xDev ico.corumba@gmail.com Editado por - ico on 23/10/2008 10:23:08 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.