Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. Oi, 'Nill'! Existe meio sim. é só pensar um pouco. o c é para não ter que escrever tbl_clientes e o p, da mesma forma, é para não ter que escrever tbl_pesqsat. É uma forma de abreviação. Um ALIAS (apelido) que facilita a digitação, pois quando trqabalhamos com várias tabelas simultâneamente devemos informar que atributo(campo) pertence a que tabela. Não funcionou por qual das razões abaixo? Você não tem a empresa correspondente nas duas tabelas Você inseriu um id não existente Você não criou os índices para os atributos empresa nas tabelas tbl_clientes e tbl_pesqsat. (um indice para cada tabela) Ou outra razão? O que está havendo de errado?
  2. Esta pergunta se refere a PHP e não a MySQL. É uma confusão comum que estou vendo aqui no forum. O Select que te passei é o comando necessário para buscar a informação que você necessita dentro do banco de dados. Como exibir esta informação depende de você através do código de programa que você usa. Neste caso, PHP. Se você quizer posso transferir este tópico para a área de PHP e o pessoal de lá te ajuda. (PHP não é minha praia).
  3. Oi, Michelle! Se o campo ID da tabela avaliacoes é autoincrement, então o código abaixo satisfará sua necessidade. Se não for, mande a estrutura para que eu possa avaliar melhor. SELECT * FROM avaliacoes WHERE ID = (SELECT MAX(ID) AS ID FROM avaliacoes)
  4. Oi, Nill! Respondendo sua pergunta. SELECT c.cnpj, <outros campos> FROM tbl_clientes c INNER JOIN tbl_pesqsat p ON c.empresa = p.empresa WHERE p.id = xxxxx Como instrução auxiliar leias os pontos abaixo: 1 . Não coloque o nome da empresa como campo comum para relacionamentos. Se você necessitar torcar o nome da empresa terá que fazê-lo nas duas tabelas. Neste caso use o id da tabela tbl_client na tabela tbl_pesqsat 2 . Utilize índices para racionalizar a pesquisa entre joins. Neste caso, crie indices em c.empresa e em p.empresa. Isto evitará table scan (pesquisa registro a registro entre as duas tabelas para encontrar o que é desejado. Exemplo se tiver 1000 registros em cada tabela e somente 1 registro me satisfaz em cada tabela, então sem indices a pesquisa seria de 1000 x 1000 registros e com índices seria de 2 registros (uma para cada tabela do join). 3 . Você usou "instaimp INT(2) NULL" querendo ou não o mysql criou um integer com 4 bytes (Espaço extra por registro que não estárá sendo utilizado). Integers operam com valores entre -2147483648 e 2147483647. se a cláusula unsigned for utilizada o range ´´e de 0 a 4294967295. Para este propósito TINYINT que ocupará 2 bytes números de -127 a +128 se a cláusula unsigned for usada o range vai de 0 a 255. 4 . Estude sobre normalização de bancos de dados.
  5. Oi, 'shadow007' ! Vou te ajudar um pouco e você continua seguindo. Vou usar o "se, senão, fim se" e você modifica para "caso" conforme você aprendeu. se diasem = 1 então escreva("domingo") senão se diasem = 2 então escreva("segunda") ... siga em frente Informe se houver mais dúvidas.
  6. Oi, shadow007 ! Seu algorítimo original tinha um erro aqui: se (codigo >= 1) e (<= 20) então escreva ("europa") fimse <------ ERRO se (codigo >= 21) e (<= 40) então escreva ("ásia") Voce não estava comandando o "senão se" até o fim. Por isso sempre aparecia "europa" para qualquer número digitado acima de 40 Modifiquei seu algorítimo para que fique mais claro. Veja abaixo: var codigo: inteiro inicio // Seção de Comandos escreva ("entre com o codigo") leia (codigo) se (codigo > 80) então escreva ("paraguai") senão se (codigo > 60) então escreva ("áfrica") senao se (codigo > 40) então escreva ("américa") senão se (codigo > 20) então escreva ("ásia") senão escreva ("europa") fimse fimalgoritmo
  7. Simples mas bem sacana. Por que é que os dados que são armazenados no banco, teriam alguma relação com a sintaxe da linguagem utilizada para criar ele? :wacko: Lembre-se que a linguagem SQL é interpretada. :blush: Manual do MySQL Versão 4.1 2.6.1.3. MySQL para Windows Comparado com o MySQL para Unix
  8. MySQL foi escrito em C em ambiente originalmente Linux/Unix . Então segue as regras para caracteres especiais. Onde se quer usar \ deve-se usar \\. Simples Assim.
  9. Oi, 'reunix'! Você falou no post anterior Os dados estão sendo transferidos para MySQL?
  10. Oi, 'LukeGuitar' ! Como este é um problema de programação, vou transferi-lo para a área de PHP. Lá este te auxilirão melhor.
  11. Oi, Mario! Não conheço o VB6. Vou transferir este tópico para a área de VB.
  12. Oi, 'Emmerich'! Sim. Mas vai necessitar alguma interação humana. As ferramentas que posso indicar para fazer esta engenharia reversa são: 1 ERWin da CA Computers (muito cara) 2 Ver Tópico Para Tutoriais/dicas post #3 Tópico Para Tutoriais/dicas post #3 são Ferramentas Free. 3 A interação humana vai depender do tipo de engine das tabelas do banco MySQL que você está usando. Se for InnoDB e o DBA definiu todas as contraints para foreign keys, então a interação humana é menor. (Seu melhor Caso) Seu Pior Caso será se o engine utilizado for MyISAM. Onde a engenharia reversa só retornará as tabelas sem as ligações entre elas. Neste caso a interação humana, para estabelecer as ligações, será total.
  13. Oi, 'FabioElvis'! Conta a história direito. Explique o exercício. Com base nisso te ensinarei o conceito e como desenvolver o algorítimo.
  14. Oi, 'LukeGuitar'! Este "subir" seria avançar um registro a cada 20 segundos? Se sim, não seria o caso de usar somente rotina sql. Mas, de coordenar a rotina sql com a sua lingugem de programação. Se não, explique melhor sua solicitação.
  15. Este erro ocorreu em um sistema que fui chamado para socorrer. Há, no programa, um comando como este abaixo: try db.startTarsacrion; qry.ExecSQL; db.Commit; impressao; except db.rollback; end; O erro estava ocorrendo na procedure impressao e, por causa disso, estava pulando para o rollback quando a transação já estava commitada. Fiz uma pequena mudança no código e o erro foi corrigido. Pode fechar o caso como resolvido. A todos que ajudaram, muito obrigado.
  16. Pessoal trabalho com delphi7 e mysql, hoje deparei com um erro que ainda não tinha visto. O sistema está enviando mensagem de "No user transaction is currently in progress" Alguém sabe como contornar/corrigir este erro?
  17. Oi, 'hitech'! Vamos analisar seu pedido. Primeiro, gostaria que você observasse o anexo que enviei. É este o modelo de dadso descrito por você. Tem certeza disso? Segundo: Em sua afirmação O correto é criar um índice para cada campo da tabela canais_usuarios eles trabalharão como foreign keys.Se você está usando a engine InnoDB e a versão 5.x no servidor do banco, então aconselho a colocar constraints para controlar melhor os dados desta tabela Terceiro: : Em sua pergunta É besteira criar um campo sem serventia. Índices devem ser utilizados apenas quando estritamente necessários. Quarto: O número do canal não se repete? Ou pode haver o mesmo número de canal para um portal diferente? Se para a segunda pergunta a afirmativa é "sim", então o modelo está errado e haverá problemas em achar o usuário para o canal. Quinto: Em sua pergunta: A utilização de Joins é a chave para esta pergunta. Supondo que você esteja certo na criação de seu modelo, então a pesquisa seria assim: SELECT c.nome_canal, p.nome_portal FROM canais_portais c INNER JOIN portais p ON c.id_portal = p.id_portal INNER JOIN canais_usuarios cnu ON c.id_canal = cnu.id_canal INNER JOIN usuarios u ON cnu.id_usuario = u.id_usuario WHERE u.login = xxxxxxx Nota: para melhor performance e para evitar TABLE SCAN (varredura em todas as tabelas) você deve criar os seguintes índices (alguns já são primary key outros trabalharão como foreign key) c.id_portal (foreign key na tabela canais_portais) p.id_portal (já é primary key na tabela portais) c.id_canal (já é primary key na tabela canais_portais) cnu.id_canal (foreign key na tabela canais_usuarios) cnu.id_usuario (foreign key na tabela canais_usuarios) u.id_usuario (já é primary key na tabela usuario) u.login (unique key - haverá somente um usuário para cada login) Sexto: Em sua pergunta Você já estudou normalização de bancos de dados? XXXXXXXXXXXX.pdf
  18. Denis Courcy

    Truncando tabela

    se você se refere ao código TRUNCATE TABLe 'tabela' está correto, sim. Quanto ao resto é php e não sei nada a respeito.
  19. Oi, Karen! Você está trabalhando com master detail, ou seja tabela pai e tabela filha? Se sim, você está tentando cadastrar na tabela filha sem antes cadastrar na tabela pai? Verifique se é este o erro.
  20. Denis Courcy

    Permissões

    Oi, 'jow'! Leia o capítulo 4 do manual do mysql versão 4.1, que foi traduzido para o português Página 233 item 4.4 A Sintaxe de GRANT e REVOKE Página 240 item 4.4.5. Adicionando Novos Usuários ao MySQL
  21. Oi, Bruna! Procure em um destes sites. Eles contém o resultado que você quer. http://databases.aspfaq.com/database/how-d...-text-file.html http://www.databasejournal.com/features/ms...10894_3331881_2 http://3d2f.com/tags/export/query/results/to/text/file/
  22. Que tipo de banco você usa? Com MySQL eu posso fazer assim: select * into outfile "/tmp/openshow" from lisbon; que vai direto.
  23. O Problema é que ele não fecha este formAguarde(congela).......por que ele esta SholModal.....se eu usar simplismente Show...ele fecha. O Motivo de eu mandar com ShowModal é que o usuario não consiga manipular os outros form´s. Grato Oi, Eder! Existe um truque fácil para isto. Coloque um componente TTimer no form formAguarde; Crie uma variável pública para controle do fim do processo; Inicialize a variável com false; No fim do processamento passe a variável para true; No código de controle do timer pesquise a variavel para ver se é true e quando for, envie sinal para fechar o form.
  24. Oi, Bruna! O DBGrid pode ser usado como uma matriz. basta varrê-la linha por linha e coluna por coluna, e ir gravando os dados com um caracter de separação qualquer. busque no help do delphi, como usar o AssignFile, Rewrite, Writeln, EofFile e CloseFile. Tente. Se continuar com dúvidas, é só postar novamente. Nota: A melhor opção é usar o TAB (#8) como caractere de separação entre colunas e o #13#10 como separação de linha Nota2: O #13#10 é fornecido automaticamente prlo Writeln.
×
×
  • Criar Novo...