
Jesc
Membros-
Total de itens
12 -
Registro em
-
Última visita
Sobre Jesc

Jesc's Achievements
0
Reputação
-
Estou Fazendo o seguinte no evento OnStateChange para cada DataSource: frCadForn.btNovo.Enabled := (Sender as TDataSource).State in [dsBrowse]; frCadForn.btGrava.Enabled := (Sender as TDataSource).State in [dsEdit, dsInsert]; frCadForn.btCance.Enabled := frCadForn.btGrava.Enabled; frCadForn.btExclu.Enabled := frCadForn.btNovo.Enabled; frCadForn.btConsu.Enabled := frCadForn.btNovo.Enabled; frCadForn.btSair.Enabled := frCadForn.btNovo.Enabled; Porém, quando o programa está funcionando, abro, por exemplo a tela de Cadastro de clientes e funciona normalmente o código acima. Mas quando fecho essa tela de cadastro de clientes e abro ela novamente o código acima não funciona, ou seja, todos os botões estão habilitados. No evento Onclose do Form desse cadastro eu faço: frCadClien := nil; action := cafree; E na chamada desse form de cadastro faço: if frCadClien = nil then application.CreateForm(Tfrcadclien, frcadclien); frcadclien.show; Como corrigir isso?
-
Bom dia a todos! Tenho um projeto com varios forms de cadastro. E gostaria de cria uma função/procedure genérica para a manipulação dos estados da tabela para os botões de Inserir, excluir, editar, gravar, cancelar. estou usando um DataModule com TTable e TDataSource. Alguém poderia ajudar?
-
Estou tentando fazer a sincronia dos botões de edição num form, mas não consigo fazer essa sincronia. Estou seguindo esse passo: Não estou conseguindo entender essa procedure e nem como chamá-la dos 'OnClick' Alguém podeira ajudar?
-
Ok! Obrigado. Tenho uma outra dúvida com outro pequeno script: <HTML> <HEAD> <TITLE>Documento PHP</TITLE> </HEAD> <BODY> <? function Estatico(){ static $conta = 0; $conta++; echo $conta; if($conta < 10){ Estatico(); } $conta--; } Estatico(); ?> </BODY> </HTML> O valor da variável static $conta não era pra receber sempre o valor zero quando o método Estatico() fosse chamado na recursividade?
-
Ok! colega, entendi. A função retorna falso se o resto for zero e true se for 1. Mas zero não é um valor? porque que ele retorna false quando o resto é zero se zero é um inteiro?
-
Bom dia a todos. Vi esse exemplo de script abaixo, mas não entendi como ele informa se o valor é 'ímpar' ou 'par'. Acho que estou com dúvida na concatenação-atribuição (.=). Esse script mostra uma contagem de 1 a 10 informando se o numero é ímpar ou par: <?php function imprime($numero){ $str = '<br>'.$numero.' </b>'; $str.= numero_impar($numero) ? 'impar' : 'par'; return $str; } function numero_impar($numero){ return $numero%2; } echo '<html> <head><title>Olá Mundo!</tilte></head><body>'; for($i=1; $i<=10; $i++){ $linha = imprime($i); echo $linha.'<br>'; } echo '</body> </html>'; ?>
-
Bom dia a todos. Estou tentando pegar o id de uma tabela chamada 'pessoa' que é auto_increment e colocar na tabela 'pessoa_juridica', que não é auto_increment, mas o id_pessoa é FK nesta última tabela. Como faço pra pegar esse id incrementado pra colocar na outra tabela ? As duas tabelas e o código do método que insere estão abaixo: CREATE TABLE pessoa ( id_pessoa integer unsigned not null auto_increment, nome varchar(40) not null, fone varchar(15) not null, tipo_pessoa enum('J','F') not null, primary key (id_pessoa) )ENGINE=InnoDB; CREATE TABLE pessoa_juridica ( id_pessoa_jur integer unsigned not null, nome_fant varchar(40) not null, fundacao date not null, cnpj varchar(15) not null, e_clube enum("S","N") not null )ENGINE=InnoDB; ALTER TABLE pessoa_juridica ADD CONSTRAINT FK_pessoa_jur FOREIGN KEY (id_pessoa_jur) REFERENCES pessoa (id_pessoa) ON UPDATE CASCADE ON DELETE CASCADE; Codigo: public void salvarPJuridica(String nome, String nome_fant, String fundacao, String cnpj, String fone,int clube){ final String tipo="J"; String resp=""; int num=0,num1=0; if(clube == 0) resp="S"; else if(clube == 1) resp="N"; String SQL = "INSERT INTO pessoa VALUES(" +num +",\""+nome+"\"" +",\""+fone+"\"" +",\""+tipo+"\")"; String SQL1 = "INSERT INTO pessoa_juridica VALUES(" +num1 +",\""+nome_fant+"\"" +",\""+fundacao+"\"" +",\""+cnpj+"\"" +",\""+resp+"\")"; String SQL2 = "SELECT id_pessoa FROM pessoa ORDER BY id_pessoa"; try { int result = stm.executeUpdate(SQL); }catch (Exception e) {} try{ rs=stm.executeQuery(SQL2); rs.last(); num1=rs.getInt("id_pessoa"); }catch(Exception e){ JOptionPane.showMessageDialog(null,"ERRO - Não foi possível pegar o id_pessoa\n - "+e.toString()); } try { int result1 = stm.executeUpdate(SQL1); if( result1>=1) JOptionPane.showMessageDialog(null,"Cadastrado realizado com sucesso."); } catch (Exception e) { JOptionPane.showMessageDialog(null,"ERRO - Cadastrado falhou - "+e.toString()); } }
-
Ok! Denis. Entendi. Muito obrigado. Parabéns!!! Você tem um excelente conhecimento em BD. Tudo ficou mais claro após suas explicações. Obrigado também pela paciência. Espero que continue assim, ajudando e passando conhecimento. E pra encerrar: você tem algum material (dica/macetes) para aperfeiçoar a criação de tabelas a partir do modelo ER(conceitual) e um nome de editor de tabelas. Tópico Resolvido. Até mais.
-
Obrigado mais uma vez colega. - você deixou quase todas as tabelas sem PRIMARY KEY, porque? - O que significa, quando você populou um clube, as linhas: START TRANSACTION e COMMIT
-
ok Denis, gostaria que verificasse se as criações das tabelas e os 'ALTER TABLE FK..' estão corretos E que você populace uma linha da 'jogador' pra como é a população. os 'auto_increment' estão colocados certos; a tabela 'jogador_clube' precisaria de um 'auto_increment'. Não entendi o porquê de usar 'FK_pessoa_jur' nos 'ALTER TABLE FK...'. Obrigado por estar ajudando. Equeci de colocar as tabelas: create database futebol; use futebol; CREATE TABLE pessoa ( id_pessoa integer unsigned not null auto_increment, nome varchar(40) not null, fone varchar(15) not null, tipo_pessoa char(2) not null, primary key (id_pessoa) )ENGINE=InnoDB; CREATE TABLE pessoa_fisica ( id_pessoa_fis integer unsigned not null auto_increment, data_nasc date not null, cpf varchar(15) not null, e_jogador char(2) not null, primary key (id_pessoa_fis) )ENGINE=InnoDB; CREATE TABLE pessoa_juridica ( id_pessoa_jur integer unsigned not null auto_increment, nome_fant varchar(40) not null, fundacao date not null, cnpj varchar(15) not null, primary key (id_pessoa_jur) )ENGINE=InnoDB; CREATE TABLE cotas ( id_jogador integer unsigned not null, id_pessoa integer unsigned not null, percentual varchar(5) not null, valor_negoc decimal(7,2) not null, data_negoc date not null, valor_mercado decimal(7,2) not null, primary key (id_jogador) )ENGINE=InnoDB; CREATE TABLE clube ( id_clube integer unsigned not null auto_increment, cores varchar(100) not null, primary key (id_clube) )ENGINE=InnoDB; CREATE TABLE jogador_clube ( id_clube integer unsigned not null, id_jogador integer unsigned not null, primary key (id_clube,id_jogador) )ENGINE=InnoDB; CREATE TABLE jogador ( id_jogador integer unsigned not null auto_increment, apelido varchar(20) not null, valor_passe decimal(7,2) not null, primary key (id_jogador) )ENGINE=InnoDB; ALTER TABLE pessoa_fisica ADD CONSTRAINT FK_pessoa_fis FOREIGN KEY (id_pessoa_fis) REFERENCES pessoa (id_pessoa) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE pessoa_juridica ADD CONSTRAINT FK_pessoa_jur FOREIGN KEY (id_pessoa_jur) REFERENCES pessoa (id_pessoa) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE cotas ADD CONSTRAINT FK_jogador FOREIGN KEY (id_jogador) REFERENCES jogador (id_jogador) ON UPDATE CASCADE ON DELETE CASCADE, ADD CONSTRAINT FK_pessoa FOREIGN KEY (id_pessoa) REFERENCES pessoa (id_pessoa) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE clube ADD CONSTRAINT FK_pessoa_juridica FOREIGN KEY(id_clube) REFERENCES pessoa_juridica (id_pessoa_jur) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE jogador_clube ADD CONSTRAINT FK_clube FOREIGN KEY(id_clube) REFERENCES clube (id_clube) ON UPDATE CASCADE ON DELETE CASCADE, ADD CONSTRAINT FK_jogador FOREIGN KEY(id_jogador) REFERENCES jogador (id_jogador) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE jogador ADD CONSTRAINT FK_pessoa_fisica FOREIGN KEY (id_jogador) REFERENCES pessoa_fisica (id_pessoa_fis) ON UPDATE CASCADE ON DELETE CASCADE;
-
Percebi no seu diagrama em anexo o seguinte: - na tabela cota você não inseriu 'valor de negociação','data de negociação' e 'valor de mercado'; - você retirou os cods para cada tabela, como cod_pessoaJuridica,cod_pessoaFisica. - Nas tabelas: pessoa_juridica e pessoa_fisica que tipo recebe 'É clube' e 'É jogador' na criação das tabelas? - Como colocar as clausulas nas tabelas para quando, por exemplo: deletando uma pessoa_juridica nesta tabela e os campos referente a essa pessoa na tabela 'pessoa' serem tambem apagados? - Todas as tabelas terão um único id que será hedado da tabela Pessoa?
-
Bom dia a todos. De acordo com as informações abaixo, criei algumas tabelas para esse enunciado, gostaria de saber se as tabelas estão corretas e como colocar as chaves estrangeiras e os "on update,delete cascade" para quando eu deletar uma linha em uma tabela os dados referentes a essa linha em outra tabela sejam deletados. Agradeço qualquer ajuda. 1- Times de futebol desejam vender cotas de passes de seus jogadores.Cada cota equivale a um número percentual e pode ser vendida para pessoas físicas e jurídicas.Logicamente, o somatório de cotas de um passe não pode ultrapassar 100%. 2- Um jogador possui, além dos dados de pessoa física, um apelido, clubes que está atuando e valor do passe(é importante saber a idade do jogador antes de comprar seu passe). 3- Uma cota de passe de um jogador específico possui: um dono(pessoa física ou jurídica), dono anterior, percentual, valor de negociação, data de negociação e valor de mercado. 4- Uma pessoa física tem nome, cpf, telefone, data de nascimento e idade( um jogador é uma pessoa física com mais particularidades); 5- Uma pessoa jurídica possui nome,nome fantasia,CNPJ, telefone,data de fundação(um time de futebol poder ser visto como uma pessoa jurídica); create database sistema_de_cotas; use sistema_de_cotas; create table pessoa( cod_p int(3) not null, nome varchar(50) not null, fone varchar(15) not null, primary key(cod_p)); create table p_juridica( cod_p int(3) not null, cod_pj int(5) not null, nome_fant varchar(50) not null, fundacao varchar(15) not null, cnpj varchar(15) not null, primary key(cnpj)); create table p_fisica( cod_p int(3) not null, cod_pf int(4) not null, data_nasc varchar(15) not null, cpf varchar(15) not null, primary key(cpf)); create table jogador( cod_p int(3) not null, cod_pf int(4) not null, cod_jog int(4) not null, apelido varchar(25) not null, clube_atual varchar(50) not null, clubes_passds varchar(500) not null, primary key(cod_jog)); create table cota( cod_p int(3) not null, cod_passe int(7) not null, cod_cota int(2) not null, vlr_negoc decimal(7,2) not null, data_negoc varchar(15) not null, primary key(cod_cota)); create table passe( cod_jog int(4) not null, cod_passe varchar(7) not null, vlr_passe decimal(7,2) not null, primary key(cod_passe)); create table jog_club( cod_jog int(4) not null, cod_club int(5) not null, primary key(cod_jog,cod_club)); create table clube( cod_p int(3) not null, cod_pj int(5) not null, cod_club int(5) not null, cores varchar(100) not null, primary key(cod_club)); insert into pessoa values( 001,'Clodoaldo','3254-5689'), (002,'Batistuta','8800-9966'), (003,'Fortaleza','3344-5456'), (004,'Cleilson Sa','34852122'); insert into p_fisica values (001,200,'1982-03-21','65814453322'), (002,201,'1981-05-09','11004451598'); insert into jogador values ( 001,200,400,'Baixinho',500,501), (002,201,401,'Bategol',502,503); insert into p_juridica values( 003,300,'leao','1905-02-05','12365478932452'), (004,301,'O matador','1989-10-21','02520252375123'); insert into clube values ( 003,300,500,'azul-vermelho-branco'); insert into cota values ( 001,700,600,35.00,'2005-09-21'); insert into passe values ( 400,700,10.000); insert into jog_club values( 400,500);