Sistema de Ponto em CSharp .net - Fórum DevMedia
Sistema de Ponto em CSharp .net
Boa tarde pessoal, tenho um sistema na minha empresa e no mesmo já contempla o cadastro de funcionários, o sistema foi todo desenvolvido em Delphi 2010, agora estou querendo implementar o controle de ponto dos funcinários (um software a parte) no qual estou querendo usar o CSharp e a mesma tambela de dados dos funcionários do meu sistema.
O banco de dados usado é o Firebird 2.5
IBExpert para gerenciar o banco de dados.
Sistema principal em Delphi 2010
**Sistema de Controle de ponto em CSharp
**O por que de querer fazer isto.
Sou Técnico em Eletrônica e Desenvolvi o relógio de ponto da minha empresa no qual o mesmo salva os dados em um pendriver e dai toda semana tem que descarregar os dados do pendriver no PC e eu estou querendo fazer isso altomáticamente.
Como eu posso está fazendo o uso da mesma tabela no bando de dados com os 2 software(um de cada vez lógico)?
Como eu posso está organizando as entradas e saidas dos fucionários?
Tenho que criar uma outra tabela só para o ponto e usar Chaves Estrangeiras da tabela de funcionários.
Obriago pela oportunidade e é um prazer fazer parte destacomunidade.
Ninguem, nenhuma opinião, nem pra dizer se vai ou não dar certo.
Olá, Josivan. Tudo bem?
Da mesma forma que se pode ter vários executáveis acessando o banco, você pode fazer outra aplicação (agora em C#) para acessar o banco que já está sendo usado pelo primeiro programa em Delphi.
Você pode criar uma tabela contendo, basicamente, os campos: data/hora de entrada, data/hora de saída e uma referência ao funcionário.
Exato. Você não tem como gravar os registros de ponto na própria tabela de funcionários. Precisará criar uma tabela, como a que citei na questão anterior.
Espero ter ajudado. Caso persistam as dúvidas ou surjam novas, fique à vontade para questionar.
Boa noite Joel
Obrigado por ter respondido e com certeza irão aparecer sim muitas duvidas e játenho mais uma na agulha
No software terei que criar 2 conexões diferentes, uma para acessar a tabla "FUNCONARIOS"(de onde irei pegar os alguns dados do funcionário) e outra para acessar a tabela "PONTO"(onde serão savos os dados dos pontos).
CSharp Express 2010 (como já havia comentado)
IBExpert (para interagir no Banco de Dados)
Firebird 2.5 (Banco de Dados)
Agora vem as dulvidas.
Você poderia me informar uma maneira ou algum material simples de como acessar o banco de dados Firebird com o CSharp?
No IBExpert eu posso usar como chave estrangeira um campo de tabela que já uma chave estrangeira de outra tabela?
Pesquisei muita coisa na internet, mais quero tirar o máximo de duvidas antes de por a mão na massa mesmo.
Grrato pela atenção
Veja se este link te ajuda a entender como conectar ao Firebird via C#:
[url]http://www.macoratti.net/08/09/c_fbd1.htm[/url]
Com relação à segunda questão, não sei se entendi bem. Se possível, dê um exemplo. Mas acho que não terá problema.
Vou tentar esplicar melhor a segunda pergunta sobre o IBExpert.
Eu tenho 3 tabelas (EMPRESA, FUNCIONARIOS e PONTO)
Na tabela EMPRESA eu tenho:
CDEMPRESA INTEGER NOT NULL,
Na tabela FUNCIONARIO em tenho:
CDFUNCIONARIO INTEGER NOT NULL,
CDEMPRESA INTEGER,
ALTER TABLE FUNCIONARIO ADD PRIMARY KEY (CDFUNCIONARIO);
ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO FOREIGN KEY (CDEMPRESA) REFERENCES EMPRESA (CDEMPRESA);
Na tabela PONTO eu tenho:
CREATE TABLE PONTO (
CDFUNCIONARIO INTEGER,
ALTER TABLE PONTO ADD CONSTRAINT FK_PONTO FOREIGN KEY (CDEMPRESA) REFERENCES FUNCIONARIO (CDEMPRESA);
Se vc observar na tabela FUNCIONARIO eu tenho um campo CDEMPRESA que é uma chave estrangeira da tabela EMPRESA certo.
Agora vem o ponto da duvida, na tebela PONTO eu tenho um campo CDEMPRESA que é uma chave estrangeira da tabela FUNCIONARIO que no caso ja usa o campo CDEMPRESA como chave estrangeira da tabela EMPRESA, ou seja, uma chave estrangeira de uma chave estrangeira.
Deu pra entender essa bagunça rsrsrs.
Ah, entendi sim. Mas nesse caso, a tabela ponto não precisa referenciar a tabela empresa, pois ela já referencia a tabela de funcionário que, por sua vez, referencia a de empresas. Sacou?
Ou seja, o ponto refere-se a um funcionário, que já está ligado a uma empresa. Então o ponto não precisa mais se relacionar diretamente com a empresa.