Lau13 Posted April 12, 2013 at 04:40 PM Report #502997 Posted April 12, 2013 at 04:40 PM (edited) Boa tarde, estou a desenvolver um projeto e gostaria que me pudessem ajudar. Tenho uma tabela funcionários (mysql) e na minha aplicação ao inserir um novo funcionário gostava que para essa mesma password tivesse uma variável, onde atribuísse esse valor a ele, mas que esse mesmo valor nunca se repetisse. Eu já fiz isto em C mas em VB.Net não sei como proceder. Alguém me pode ajudar? Edited April 12, 2013 at 04:40 PM by Lau13
Nelson Sousa Posted April 12, 2013 at 04:46 PM Report #502999 Posted April 12, 2013 at 04:46 PM Olá, Talvez se antes de inserir um novo funcionário, fizesse uma consulta com a nova password ao banco de dados. Se a consulta retornasse algum registro é porque a mesma já existe no banco de dados. Dessa forma poderia solicitar outra password ao usuário. Um Abraço, Nelson Sousa
NunoDinis Posted April 12, 2013 at 04:46 PM Report #503000 Posted April 12, 2013 at 04:46 PM Podes utilizar a função random. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
Lau13 Posted April 12, 2013 at 05:07 PM Author Report #503007 Posted April 12, 2013 at 05:07 PM Desde já obrigado por me estarem a ajudar, mas Nelson Sousa eu não quero fazer uma verificação apenas quero que ele me gere um numero que nunca seja repetido. Nuno Dinis essa função random pode vir a gerar um numero igual? Também gera letras ou só gera números?
ribeiro55 Posted April 12, 2013 at 05:37 PM Report #503012 Posted April 12, 2013 at 05:37 PM Random, per se, só gera números. E sim, há uma altíssima probabilidade de se repetirem. Qual seria o tamanho de chave que tens em mente? Podes gerar códigos únicos a partir do relógio, ou até mesmo UUID (GUID no mundo da Microsoft). Vai depender do tamanho que queres. GUIDs, por exemplo, são muito compridos, mas é quase garantido que não vais ver uma repetição enquanto fores vivo. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Lau13 Posted April 12, 2013 at 07:21 PM Author Report #503017 Posted April 12, 2013 at 07:21 PM Olá ribeiro55. Estava a pensar em 7/8 numeros, os tal GUID que tamanho tem?
Nelson Sousa Posted April 12, 2013 at 09:29 PM Report #503033 Posted April 12, 2013 at 09:29 PM Bom, Se o campo é numérico e precisa que não se repita, o ideal é usar o autoincrement. Basta formatá-lo depois para que apresente a quantidade de dígitos que lhe convier. O problema é que você não terá como influenciar a geração de novos números, o banco de dados se encarregará disso. Outra opção, ainda com campos numéricos, é que o tenha registrado em alguma tabela e ao resgatá-lo somar +1. Aqui no Brasil temos outra opção que é usar o número do CPF(Cadastro de Pessoas Físicas) que é único de cada cidadão. Um Abraço, Nelson Sousa
samesdavis Posted April 13, 2013 at 12:52 PM Report #503073 Posted April 13, 2013 at 12:52 PM Além de utilizar o Random, deixe uns 5 campos na tabela, e ao gerar o numero o sistema irá verificar nesses 5 campos se esse numero gerado já foi usado alguma vez, se não foi usado, grava no próximo campo, se foi usado, dá o aviso. Mas para isso vc terá de ter além dos 5 campos, mais 5 campos com as datas em que a senha foi gravada para aquele campo.
Nelson Sousa Posted April 14, 2013 at 03:20 PM Report #503156 Posted April 14, 2013 at 03:20 PM Espera um pouco... Acho que agora que entendi a coisa. Você está querendo usar um campo numérico de 8 dígitos como senha?!?!?! Esqueça, com um pouco de paciência qualquer usuário pode quebrar a segurança!!! Um Abraço, Nelson Sousa
Lau13 Posted April 19, 2013 at 11:52 AM Author Report #503969 Posted April 19, 2013 at 11:52 AM Desde já obrigado a todos, mas já sei como vou fazer. Sim Nelson Sousa pode quebrar a segurança mas a Senha depois pode ser alterada. Para o efeito basta usar Random.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now