-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
(Resolvido) Não da permissão para criar View e Procedures
pergunta respondeu ao kuroi de Denis Courcy em MySQL
o q fazer nesse caso?? Isto acontece no console do servidor ou remotamente em alguma estação? Hipótese 1: Se é remoto já criou o usuário root@% ? Na versão 5.0.x se ele não for criado nada do que se faça na estação é aceito pelo server. Hipótese 2: Verifique o manual do MySQL5.1 20.5. The Event Scheduler and MySQL Privileges. Talvez você tenha que remover os privilégios e recriá-los. -
Oi, Jilney! Responsdendo sua pergunta: Utilizo o MySQL em uma aplicação cliente servidor com estações windows 98 e XP e servidor Windows 2000 Server.Em outro cliente a salada é maior, pois utilizo servidor Linux com estações Linux, Win 98 e Win XP. Como você pode ver, o MySQl é estável em qualquer tipo de ambiente. Quanto a instalação do MySQL, conforme seu relato anterior em Gostaria que você lembrasse que o MySQl não é um banco para rodar em computador local. Pode até ser utilizado assim, mas preferencialmente ele deverá rodar em aplicações multiusuárias.
-
Oi, Jilney! Respondendo a sua pergunta, por partes: Por padrão, cada banco de dados criado é montado dentro de uma pasta (que possui o nome do banco) e que fica no diretório C:MySQL\data, para as versões anteriores a 4.1 ou no diretório C;\Arquivos de Programas\MySQL\MySQL Server x.x\data, para as versões posteriores. (x.x = número da versão)As tabelas são criadas fisicamente conforme o engine escolhido. Nesta resposta vou comentar somente sobre os dois tipos mais comuns, que são o MyISAM e o InnoDB. No MyISAM, são criados arquivos com as extensões .frm, .MYD e MYI, que equivalem respectivamente a estrutura da tabela, conteúdo dos dados e conteúdo dos índices. No InnoDB, dentro da pasta que contém o nome do banco ficam somente os arquivos .frm (estrutura das tabelas) na pasta data fica um arquivo chamado ibdata1 que contém os dados e os índices utilizados pelo banco desejado. Sim, ocorre tal como expliquei acima. Sim. Você poderá alterar o arquivo de configuração My.ini. Porém se não o fizer com atenção e conhecimento, poderá inutilizar o servidor do banco, ao ponto de ter que reinstalá-lo. db.opt é criado automaticamente quando se cria um banco de dados. Seu conteúdo é lido pelo SGBD para setar internamente qual o padrão de caracteres que será usado para este banco de dados. Sugiro que você leia, com atenção o manual do MySQL da sua versão. Porém, se você não souber inglês, você poderá ler o manual da versão 4.1 que já foi traduzido para o português e está muito próximo da versão que você utiliza. Qualquer dúvida informe novamente. Bom estudo.
-
(Resolvido) Carteira(faturamento,vendas,cancelamento)
pergunta respondeu ao sirmenon de Denis Courcy em MySQL
Oi, 'sirmenon' ! O grande problema que estou tendo em auxiliá-lo está no cálculo do saldo, pois ele mexe com um registro anterior em uma data que pode não ser anterior a Data atual -1. Ou seja pode ser que o registro anterior, por causa de um feriado, seja numa quinta-feira e a data atual seja uma segunda-feira, por exemplo, o due dá D -4 e não D -1. Outro problema é que esta variável é cumulativa. assim, para que se possa calcular os saldos corretos de 2007, por exemplo, dever-se-ia saber o saldo de 2005 e assim por diante. O ideal é que a variável saldo seja um atributo de alguma tabela e já traga o valor do somatório do dia anterior. Concluindo, corrija a variável saldo, transformando-a em um atributo de alguma tabela e/ou monte sua lógica através de linguagem de programação. se não, proponha outra linha de ação para podermos pensar e tentar achar uma solução. um abraço -
Dê uma olhada no tópico em destaque neste forum, chamado "Enquete Tipo De Gerenciadores Mysql" Lá você vai encontrar vário tipos e gostos.
-
Store Procedure usando Delphi 7 - Zeos 6_6_1
pergunta respondeu ao Ivis de Denis Courcy em Delphi, Kylix
Oi, Jhonas! O que ele quer saber é como acionar a stored procedure no delphi atraves do componente zeos. -
Oi, Gabriel! Simples. Faça assim: SELECT id,SUBSTRING(nome,1,50) AS nome,data FROM `tabela1` ORDER BY data Sugiro dar uma olhada no manual do MySQL verão 4.1(porque está em portugues). Baixe o pdf e use-o como livro de cabeceira.
-
Se entendi a questão, então dê uma olhada na tabela resposta_do_usuario(id_user, id_questao, resposta) e no modelo que coloquei em anexo. imagem2.bmp
-
Oi, 'handon' ! Analisando o modelo de dados teremos: 1 Usuario pode ecessar N categorias 1 categoria pode estar sendo acessada por N usuários 1 categoria pode ter N tópicos 1 tópico pode ter N questões N questoes podem ser repondidas por N usuarios. então, mudando seu modelos para acertar com este, teremos: user(id_user(primary key autoincrement),user,email,senha) categoria(id_categoria(primary key autoincrement),categoria,descricao) relacionamento_categoria_usuer(id_user,id_cat) topíco((id_topico(primary key - autoincrement) ,id_categoria,descricao) questao(id_questao, id_topico, Numero_questao, questão, ....) resposta_do_usuario(id_user, id_questao, resposta) Aplique e se houver dúvidas poste novamente.
-
Legal você ter feito isso, 'castmetal'. Parabéms pela iniciativa. Quando coloquei a função a público foi com o intuito de divulgar que há mais de uma maneira de fazer coisas interessantes. No caso específico desta função está a diponibilidade de ficar residente no banco de dados, além de facilitar a manutenção em casos de sistemas, como os meus, que estão em linguagens diferentes(também chamado de portabilidade). Onde estão os sinais de "?" substitua por letras acentuadas Á, À, Â, Ã, Ä, É, È, Ê, Ë, Í, Ì, Î, Ï, Ó, Ò, Ô, Õ, Ö, Ú, Ù, Û, Ü, Ç e não.
-
(Resolvido) Carteira(faturamento,vendas,cancelamento)
pergunta respondeu ao sirmenon de Denis Courcy em MySQL
Oi,'sirmenon'! O que liga uma tabela com outra? Tem algum atributo(campo) tipo código do Pedido ou é o tributo DATA_EMISSAO? -
(Resolvido) Relacionamento de tabelas (chave estrangeira/innoDB)
pergunta respondeu ao ©JOÃO GABRIEL MARQUES de Denis Courcy em MySQL
Sim. provavelmente você tinha alguma chave duplicada(lixo?) na tabela pai e a referência não estava sendo estabelecida. -
(Resolvido) Relacionamento de tabelas (chave estrangeira/innoDB)
pergunta respondeu ao ©JOÃO GABRIEL MARQUES de Denis Courcy em MySQL
Oi, João! Você está tentando gravar na tabela filha sem que haja referência na tabela pai. Grave primeiro na tabela pai depois na tabela filha, e para excluir faça sempre ao contrário. -
Oi, '--MXVinícius --'! Você informou no início deste post que tentou fazer conforme abaixo: begin vencimento:= TPagarDataVencimento.value; emissao:= TPagarDataEmissao.value; dias:= vencimento - emissao; if dias > 0 then begin ShowMessage('Você têm mais ' + FLoatTOStr(dias) + ' dias de prazo'); TPagar.Edit; TPagarSituacao.Value := 'Não vencida'; TPagar.Post; end else begin TPagar.Edit; TPagarSituacao.Value:= 'Vencida'; TPagar.Post; end; end; Porém o Delphi não realiza direito este tipo de cálculo entre datas. dias:= vencimento - emissao; Mas ele fornece uma função na Unit DateUtils que pode soluciona este problema. É a função descrita abaixo. Então eu modifiquei seu código para aceitar esta função e ficou assim. begin dias:= DaysBetween(TPagarDataVencimento.value, TPagarDataEmissao.value); TPagar.Edit; if dias > 0 then begin ShowMessage('Você têm mais ' + FLoatTOStr(dias) + ' dias de prazo'); TPagarSituacao.Value := 'Não vencida'; end else TPagarSituacao.Value := 'Vencida'; TPagar.Post; end; Espero que ajude.
-
Oi, Fabiola Observe seu código aqui: procedure Tfrmabas.EDTCPFExit(Sender: TObject); var msg : string; begin if edtcpf.text = 'CPF' then msg := 'CPF' else msg := 'CNPJ'; if CalculaCnpjCpf(edtcpf.Text) then EDTPIS.SetFocus else ShowMessage(msg+' Incorreto.'); EDTCPF.SetFocus; end; O correto, para atender o que você precisa, é assim: procedure Tfrmabas.EDTCPFExit(Sender: TObject); var msg : string; begin if edtcpf.text = 'CPF' then msg := 'CPF' else msg := 'CNPJ'; if CalculaCnpjCpf(edtcpf.Text) then EDTPIS.SetFocus else begin ShowMessage(msg+' Incorreto.'); EDTCPF.SetFocus; end; end;
-
Oi Washington! Não vi dificuldade no algorítimo. É simples e todos os dados que você precisa estão lá. Informe sua dúvida, pois não é justo que façamos o algorítimo para você.
-
(Resolvido) Sistema de bd e site que suporte milhares de usuários
uma questão respondeu Denis Courcy em MySQL
Oi, 'Nakid'! Sua resposta é simples. É isso mesmo. Os selects são simples. Existem joins entre tabelas e todo tipo de consulta. O grande Tchan é que você tenha um grande conhecimento de como o banco funciona, para otimizar suas consultas (tunning do banco de dados), vigiar as estruturas das tabelas (evitar crashes); além de um bom suporte de hardware (servidores, cabos, conectores, placas de rede, etc). Outro ponto importante a ser analisado é sobre provedores. Quem tem grande quantidade de clientes provê a si mesmo, ou seja, não usa provedores externos. Quando usam provedores externos há contratos com multas pesadas caso o serviço não seja executado a contento. Como você está começando, sugiro que aprenda muito sobre otimização do MySQL (que é o banco ideal para este tipo de tarefa - em minha humilde opinião). Veja http://scriptbrasil.com.br/forum/index.php?showtopic=95400. tem um bom artigo lá. Leia o manual do MySQL e não pare de procurar conhecimento sobre seu negócio. Por hora é só. Havendo mais dúvidas poste novamente. -
Oi, Felipe! Modifique o modelo de dados para este abaixo, pois assim você obterá o que necessita. Produto cod_pro descricao Estoque cod_Estoque cod_pro qtd preço Unidade cod_unid cod_estoque identificacao No modelo acima uma unidade deve ter no mínimo 1 e no máximo N estoques Um estoque deve ter no mínimo 1 e no máximo N produtos e Um produto pode estar em N estoques imagem.bmp
-
(Resolvido) Ajuda desenvolver 1 algoritimo
pergunta respondeu ao kajaz de Denis Courcy em Lógica de Programação
Oi, 'kajaz'! O teu algorítimo tem que levar em consideração o maior comprimento/largura e partir daí. Como no exemplo acima você daria as dimensões da chapa (assim poderia ser qualquer tipo de chapa (quadrada ou retangular); Receber as dimensões de corte (pode preencher um vetor com produtos cartesianos (que informariam largura e altura de cada pedaço da chapa original)) Buscar o primeiro corte (o que tivesse maior altura e/ou largura) e assim por diante. Veja se isto ajuda voce pensar na solução. Informe se você emprrar em algum ponto e analisaremos uma possivel solução. -
Oi, Felipe! Tenho algumas perguntas que você deveria responder para que possamos analisar melhor seu caso: Você disse que haveira N estoques para cada filial. Pelo modelo que você enviou Só vai haver um estoque para cada filial. É isto mesmo? Os terminais estarão se comunicando com um servidor central ou seu sistema será distribuído, carregando os dados para uma central de tempos em tempos? Se a comunicação é através de um servidor centralizado e as filiais o acessarão via NET então a engine MyISAM é a melhor escolha Porém, se o processamento for em servidores distribuidos (um em cada filial) e os pacotes de atualização daa matriz forem enviados de tempos em tempos, então o engine INNODB é a melhor escolha. MyISAM - Não tem controle de transação. O commit é imediato e não há rollback. O que pode causar inconsistência de dados. A vantagem é a rapizez na comunicação. InnoDB - Tem controle de transação. O commit não imediato e há rollback. O que pode evita a incosistência de dados. A desvantagem é a velocidade. Quanto a capacidade de bancos MySQL podemos dizer que ele só agüenta o que o seu disco, sua memória, seu sistema operacional e sua capacidade de processamento puder colocar nele. Ou seja, há casos de tabelas com 50 milhões de registros que funcionam muito bem. As de meu cliente possuem hoje, cerca de 500.000 registros com entrada constante de 1000 registros por dia em média, operando com 15 estações simultaneamente. Leia o manual do MySQL 4.1 (porque está em português) e verá a robustez deste bichinho.
-
(Resolvido) Dúvida em consulta com muitos campos
pergunta respondeu ao Himairo de Denis Courcy em MySQL
Oi, 'Himairo'! Creio que você está usando o PHP como Linguagem de desenvolvimento para sua aplicação. Não conheço o PHP , mas a sintaxe é minha velha conhecida "C e C++". Então fiz uma pequena modificação no seu código e espero que você possa adaptá-la a sua necessidade. Creio que desta vez vá funcionar, pois só pegará os campos que estiverem preenchidos. Outra Coisa. Na sintaxe do MySQL evite usar parenteses na cláusula ON do JOIN. Evite, também, o uso de "%" a esquerda da cláusula LIKE, pois isto causa uma pesquisa em TABLE SCAN que é a varredura de registro a registro nas suas tabelas para satisfazer a necessidade da pesquisa. (Ele ignora os índices e pesquisa seqüencialmente). O que causa uma lentidão exponencial a quantidade de tabelas que estiverem ligadas. O código Ficou assim: $resultado = "SELECT r.idRelatorio, r.titulo, r.ano, r.semestre, r.tipoEstagio, o.nomeOrientador, a.nomeArea, u.nomeUsuario FROM relatorio r INNER JOIN orientador o ON r.Orientador_idOrientador = o.idOrientador INNER JOIN area a ON r.Area_idArea = a.idArea INNER JOIN usuario u ON r.Usuario_idUsuario = u.idUsuario WHERE " $Filtro = "" if ($orientador!=-1) $Filtro = $Filtro." o.idOrientador LIKE '{$orientador}%'" if ($Filtro != "") $Filtro = $Filtro. " OR " if ($area!=-1) $Filtro = $Filtro." a.idArea LIKE '{$area}%'" if ($Filtro != "") $Filtro = $Filtro. " OR " if $titulo!="" $Filtro = $Filtro." r.titulo LIKE '{$titulo}%'" if ($Filtro != "") $Filtro = $Filtro. " OR " if ($autor!="") $Filtro = $Filtro." u.nomeUsuario LIKE '{$autor}%'" if ($Filtro != "") $Filtro = $Filtro. " OR " if ($ano!="") $Filtro = $Filtro." r.ano LIKE '{$ano}%'" if ($Filtro != "") $Filtro = $Filtro. " OR " if ($semestre!="") $Filtro = $Filtro." r.semestre = '$semestre'" if ($Filtro != "") $Filtro = $Filtro. " OR " if ($tipoEstagio=="") $Filtro = $Filtro." r.tipoEstagio = '$tipoEstagio'" $resultado = $resultado.$Filtro. " ORDER BY idRelatorio " P.S.: não sei se está correto, mas usei o ponto como caracter de concatenação entre as strings. Informe se obteve sucesso ou se necessita outros ajustes. -
Novo moderador de MySQL
tópico respondeu ao Beraldo de Denis Courcy em Novidades e Anúncios Script Brasil
Obrigado a todos. -
(Resolvido) Dúvida em consulta com muitos campos
pergunta respondeu ao Himairo de Denis Courcy em MySQL
Oi, Himario! Esta custará dobrado, pois são duas consultas (eheheh) Vamos lá: Primeira consulta SELECT r.titulo, r.autor, lo.nome, la.nome u.nome FROM relatorio r INNER JOIN listaOrientador lo ON r.idOrientador = lo.idOrientador INNER JOIN listaArea la ON r.idArea = la.idArea WHERE r.titulo = txtTitulo OR r.Autor = txtAutor OR r.listaOrientador = valor1 OR r.idArea = valor2 OR ..... Segunda consulta SELECT r.titulo, r.autor, lo.nome, la.nome u.nome FROM relatorio r INNER JOIN listaOrientador lo ON r.idOrientador = lo.idOrientador INNER JOIN listaArea la ON r.idArea = la.idArea WHERE la.idArea = Valor1 OR lo.idOrientador = valor2 Atenção: os valores dados devem ser substituídos conforme a linguagem de programação que você usa. O último OR da consulta 1 deve ser retirado ou acrescido de uma condição. e para cada consdição que você deseja é só acrescentar um OR entre cada uma. -
(Resolvido) Dúvida em consulta com muitos campos
pergunta respondeu ao Himairo de Denis Courcy em MySQL
Oi, 'Himairo' ! Pode, por favor, reformular sua pergunta? Não está clara o suficiente para poder te ajudar.