-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Oi, 'LUIZ EMIDIO'! Tente Assim: CREATE TABLE PRODUTOS( COD_PROD INT, BARRAS VARCHAR(14), FAB INT, REF VARCHAR(15), COD_GRUPO VARCHAR(3), COD_SUB VARCHAR(6), DESCRICAO VARCHAR(40), PR_VENDA DECIMAL(10,2), PRIMARY KEY(COD_PROD) )TYPE=INNODB; ALTER TABLE PRODUTOS ADD CONSTRAINT PROGRUPO FOREIGN KEY(COD_GRUPO)REFERENCES CADGRUPO(COD_GRUPO), ADD CONSTRAINT PROSUB FOREIGN KEY(COD_SUB)REFERENCES CADSBGRUPO(COD_SUB);
-
Oi, Aprendendo! Você disse: Lembra o que falei sobre limitação física da impressora? A impressora que você usa tem as mesmas limitações de uma impressora jato de tinta quando usa papel solto. Você está usando folha solta e configurou a impressora para folha solta? Se sim, experimente configurá-la para formulário contínuo. Se ainda assim não der certo é porque o papel está passando pelo sensor e a impressora está deduzindo que deve ejetar pois não tem mais como tracioná-lo.
-
A resposta é sim. Explicar como é um pouco complicado. Você vai necessitar de uma stored procedure para executar os laços necessários. Os nomes das tabelas você consegue no banco mysql. Você terá que usar queries montadas em tempo de execução com o auxílio do comando PREPARE. Consulte este tópico onde explico como montar queries em tempo de execução
-
Oi, NRV! Este é um problema entre o PHP e o MySQL. Como o PHP não é minha praia, posso transferí-lo para aquele forum, se você assim desejar. De qualquer modo busquei na net e consegui isto. http://www.webdeveloper.com/forum/showthread.php?t=82722
-
Oi, 'Gafanhoto'! Leia sobre XML. Pode ser a solução que você precisa.
-
Veja manual do MySQL versão 4.1 6.5.4. Sintaxe ALTER TABLE
-
(Resolvido) Exibir Resultado De Busca Da "próxima Coluna
pergunta respondeu ao juliano.ma de Denis Courcy em MySQL
Ambos os modos vão varrer toda a tabela. A vantagem do meu modo sobre o seu éstá na liberação da cláusula where que pode ser ulitizada em outra finalidade sem prejudicar a performance da pesquisa. Desculpe ter bagunçado sua resposta. pode postar novamente, por favor? -
O MySQL acusa este problema a partir da versão 4.1.7. Você deverá assegurar que as comparações com literais de caracteres estejam usando o mesmo set de caracteres e colation que suas tabelas. Ver manual MySQL versão 4.1 (português) 9.3.12. Collations Devem Ser para o Conjunto de Caracteres Certo ou versão 4.1 (inglês) 9.1.5.5. Collations Must Be for the Right Character Set Ver, também: http://bugs.mysql.com/bug.php?id=26090 e http://bugs.mysql.com/bug.php?id=29326 Aconselho que você padronize e utilize somente um tipo de set de caracteres e colation.
-
campos obrigatorios e não obrigatorios dentro do mesmo form?
pergunta respondeu ao claudyo de Denis Courcy em Delphi, Kylix
Oi, 'claudyo'! Sendo o Delphi orientado a eventos, o correto, em minha opinião, é você colocar suas críticas no momento em que o usuário clica em ok para gravação. A rotina realiza as críticas e manda o cursor de volta para onde está o problema Obrigando-o a preencher os dados. Quando estes não são obrigatórios e os campos não foram preenchidos, basta você tratá-los normalmente na gravação, ou filtrá-los caso você faça uma rotina de gravação personalizada. -
(Resolvido) Exibir Resultado De Busca Da "próxima Coluna
pergunta respondeu ao juliano.ma de Denis Courcy em MySQL
Oi, 'juliano.ma'! Tente assim: SELECT nome, IF(color1 = "verde", color1perc, IF(color2 = "verde", color2perc, IF(color3 = "verde", color3perc, 0))) FROM tabela; Ver Manual MySQL versão 4.1 capítulo 6 -
Oi, Rainer! Não conheço esta ferramenta. Porém, as soluções que vi a respeito disto usaram um outro banco que funcionava como ioiô (enchendo e esvaziando) e tinham em cada tabela, além de gravarem, também, no arquivo txt, um atributo indicando IAE (Inclusão, Alterção, Exclusão) do registro que estava sendo lançado. A rotina era parecida com esta que vou relatar abaixo (usando seu exemplo): A cada registro lançado no Informix uma cópia do registro, com a marca de I ou A ou E vai para o Informix, ainda, em outro banco (que aqui vou chamar de databridge), fincando lá até o timer ser ativado. Quando o timer for ativado, os registros são gravados no txt e o banco databridge é esvaziado. Após isto, o programa carrega os dados do txt vindos do banco MySQL, para dentro das tabelas do banco databridge no Informix, e deste, são gravados nas tabelas normais a que pertencem. A rotina inversa também é feita no MySQL e segue o mesmo padrão.
-
(Resolvido) Manipulação de Tempo
pergunta respondeu ao Jhonatas araujo de Denis Courcy em Delphi, Kylix
Oi, 'Jhonatas araujo'! coloque sua rotina dentro do evento OnTime do TTime. A variação por segundo é de 1000 milisegundos. Então, 3 segundos = 3000 milisegundos Como Utilizar {pode ser com TTimer então} //Sendo x uma variavel integer global a este form procedure TForm1.Form1Create(Sender: TObject); begin Edit1.Font.Color := $00000055; x := 0; end; procedure TForm1.Timer1OnTime(Sender: TObject); begin if x = 3000 then // aos 3 segundos muda de cor Edit1.Font.Color := $007A7A7A; if x = 6000 then begin // aos 6 segundos muda de cor novamente e zera o contador onde tudo se repete. Edit1.Font.Color := $00000055; x := 0; end; inc(x); end; -
Oi, 'Rainer'! Juntei os dois tópicos pois a resposta para eles será a mesma e uma complementará a outra. O que você deseja, para o seu caso, é conhecido como data bridge. O arquivo txt será usado como ponte para as operações entre informix x mysql e vice-versa. Você deverá contruir uma aplicação que funcionará tipo TSR (termina mas fica residente), ou seja um serviço do linux/windows, que trabalhará gerando, de tempos em tempos, um arquivo txt exportando dados do mysql para o informix e vice-versa.
-
Oi, 'ClaudioX'! A resposta para esta questão é o uso de um atributo container. O atributo container é um atributo que ora recebe o valor de uma tabela, ora recebe o valor de outra tabela. Ele funciona, neste caso, auxiliado pelo atributo tipo da nota fiscal, que você mencionou, e que trata de informar quando uma nota é de entrada ("E") ou saida ("S"). O atributo container deve trabalhar da seguinte maneira: Qaundo o tipo de nota for "E"(entrada) então o conteúdo de forcli é o código do cliente e, quando o tipo de nota for "S" (Saída) então o conteúdo de forcli é o código do fornecedor. O atributo container, deve ser do mesmo tipo e tamanho dos dos códigos de fornecedor e cliente. Por exemplo, se o código do fornecedor é do tipo integer unsigned, então o código do cliente deve ser, também, do tipo integer unsigned, assim como o atributo container deverá ser do tipo integer unsigned. Um cuidado que você deverá tomar é de não estabelecer cláusulas contstraints para este relacionamento pois ele acusará erro se você cadastrar o código de um cliente e não houver o mesmo código cadastrado para o fornecedor e vice versa. Outro cuidado deve ser feito na hora de recuperar os dados da nosta fiscal. Você não pode esquecer de colocar o tipo de nota fiscal na cláusula where de seus selects, pois correrá o risco de pegar um fornecedor quando quizer um cliente e vice versa. Por enquanto é só. qualquer dúvida poste novamente.
-
Oi, 'Valdilei' ! Infelizmente não há como ordenar do jeito que você necessita. Sugiro que você leia o manual do MySQL versão 4.1 (tradução em português), capítulo 6, especialmente a cláusula order by.
-
Oi, 'Aprendendo'! Que tipo de impressora você está usando? Jato de tinta ou laser? A pergunta é porque alguns tipos (a maioria) de impressora jato de tinta só imprimem até certo ponto do papel e, com isso, há o desperdício da última linha de etiqueta (Já que os papéis de etiquetas vão até o limite inferior) Se você estiver usando impressora laser só alguns tipos isto acontece (são muito poucas. Somente os modelos mais antigos, se não me falha a memória). Verifique se não há uma limitação física de hardware que o esteja prejudicando.
-
Oi, 'schaukoski' ! De acordo com o manual do MySQL versão 5.0 Seção 14.2.6.4. FOREIGN KEY Constraints, você deve desativar a checagem de constraints antes de proceder ao recover de backup e, depois de realizado o recorver, reativar a checagem de constraints. Veja o exemplo abaixo: mysql> SET FOREIGN_KEY_CHECKS = 0; mysql> SOURCE dump_file_name; mysql> SET FOREIGN_KEY_CHECKS = 1; Source é o comando dado para recuperar um backup de banco após um problema qualquer.
-
Oi, tejotabe! Faça assim: SELECT nome, cor, local, MAX(data) FROM tabela WHERE CONCAT(nome,cor) IN (SELECT DISTINCT CONCAT(nome, cor) FROM tabela) GROUP BY nome, cor Devo lembrá-lo que este tipo de select realizará sempre um TABLE SCAN, independente do tipo de índice que você colocar para a tabela.
-
(Resolvido) Manipulação de Tempo
pergunta respondeu ao Jhonatas araujo de Denis Courcy em Delphi, Kylix
O TTimer captura, via windows, a interrupção 8 que controla o tempo (Data/Hora). É o melhor mecanismo para você trabalhar com rotinas que usam o tempo. Não aconselho utilizar outros tipos de rotinas para realizar isso, pois elas não responderão com a precisão esperada. -
Oi, Plínio! Procure por SELECT ... INTO OUTFILE 'nome_arquivo' no manual do MySQL (versão 4.1), capítulo 6 seção 6.4.1. Sintaxe SELECT
-
(Resolvido) Campo time no mysql retorna zero
pergunta respondeu ao Denis Courcy de Denis Courcy em Delphi, Kylix
eu já imaginava, mas nunca dá para estar 100%certo... acho que pode ser um problema com o driver ODBC.Eu fui dar uma conferida, e há uma versão fresquinha 5.1.2 liberada 13/02/2008 (Changes in MySQL Connector/ODBC 5.1.2). Houveram alguns bugs corrigidos (não conferi se este) - talvez fosse o caso de atualizá-lo e tentar. Abraços Pode fechar o tópico. Troquei o MyODBC e funcionou. VALEU!!!! Muito Obrigado! Um, Abraço, amigo! -
(Resolvido) Campo time no mysql retorna zero
pergunta respondeu ao Denis Courcy de Denis Courcy em Delphi, Kylix
Oi, Micheus! Mesmo com o TTable continua retornando zero. (00:00:00). Será algum problema de conversão? Algum bug no meu DELPHI (caolho) :ninja: ? O modelo de hora no windows está configurado para HH:mm:ss e é assim que a hora está representada dentro do banco de dados. -
Oi, 'GutoWork' ! Informe sua consulta (não precisa fornecer os campos verdadeiros nem o nome verdadeiro de sua tabela ou banco. mas precisa fornecer toda a cláusula where, orderby e /ou grpoup by que tiver nesta query.
-
Hoje me deparei com um erro que ainda não tinha visto. Um cliente meu usa um sistema feito em Delphi 7 + MySQL 5.0.37 usando MyODBC e BDE para as conexões com o banco. Dentro de uma tabela foi criado um campo time onde é gravada, corretamente, a informação. Porém, quando preciso resgatar esta informação, mesmo usando fieldByName('hora').AsString ou fieldByName('hora').AsDateTime, o valor retornado é zero. Fiz um teste em um form novo (criei uma aplicação teste, com apenas uma tela para verificar) usando os objetos TDatabase, TQuery, TDataSource e TDBGrid e o resultado continua retornando 0. Alguém sabe como posso sair desta enrrascada? Em teste, já mudei o campo para string e funcionou corretamente. Mas preciso manter o campo original como time. (Motivo O cliente está distante e não posso alterar a estrutura do banco sem que tenha alguém com conhecimento para não fazer bobagem, além de ter mudar várias partes do código, o que vai dar um trabalhão.)
-
Use a função substring. Veja no Manual do MySQL como ela funciona.