Ao adicionar novo registro trazer o código definitivo e não -1, -2...

17/09/2013

0

Olá, tenho um Windowsform para cadastro em um BD Access, no bindingnavigator tem o botão adicionar novo registro, como fazer para trazer o código definitivo do registro e não -1 .
Pois ele só mostra o código definitivo depois de salvar, gostaria que ao clicar em adicionar já mostrasse o código certo da sequencia de cadastro.
Abaixo imagem para melhor entendimento.

[url]http://uploaddeimagens.com.br/imagens/codigo_-1-png[/url]
Jair Souza

Jair Souza

Responder

Post mais votado

30/09/2013

Foram necessárias duas barras por que uma barra sozinha indica um caractere de escape (\n, \w, \T, etc). Quando você coloca duas barras, isso é interpretado como uma barra que deve ser inserida literalmente naquele ponto.
Enfim, que bom que deu certo.
Tópico concluído.

Joel Rodrigues

Joel Rodrigues
Responder

Mais Posts

17/09/2013

Fabiano Carvalho

tente colocar max(id) + 1 na consulta que gera esse ID;
Responder

17/09/2013

Jair Souza

Como mencionei acima, o botão adicionar é criado automaticamente no BindingNavigator quando arrastei o BD access para dentro do projeto, não foi criado pelo programador, portanto não tenho acesso ao código e se tenho não como acessar...
Responder

18/09/2013

Jair Souza

Olá, alguem tem alguma idéia do que fazer...? eu não tenho a mínima direção...
Responder

18/09/2013

Joel Rodrigues

Você pode fazer o que o amigo acima indicou, mas não é seguro, pois o autoincremento não necessariamente vai ser o próximo número na sequência (algum registro pode ter sido excluído);
Você precisaria executar um select max(id) e exibir esse valor no campo.
Responder

18/09/2013

Jair Souza

Certo, e como se faz ? Podes dar um exemplo ?

Desde já agradeço.
Responder

18/09/2013

Jair Souza

Seria assim ?
...ou tem algo errado ?
Select MAX( F.IDFuncionario )+ 1 
From Funcionario F
Where (F.IDFuncionario) = textboxIdFuncionario
Responder

18/09/2013

Joel Rodrigues

Rapaz, você tem que saber executar instruções SQL usando ADO. Acho que no seu caso você vai usar OleDb.
Pesquise sobre como fazer isso.
Responder

25/09/2013

Jair Souza

Olá, depois de algumas pesquisas e adaptações cheguei neste código, mas não funciona que dever estar errado ?

public static string pCodigo(string IDCodigo, string Funcionario)
{
//String de Conexão do Banco de Dados

String Conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & " bDBiblioteca2DataSet.mdb");

//Faz uma Consulta no Banco, Para Ver o Próximo Código

String query = ("SELECT MAX(" + IDCodigo + "+1") From + Funcionario, Conexao")

//TextBox Código Recebe o Próximo Código
string Resultado = Comando.ExecuteScalar().ToString();


//Caso o Resultado Seja Nulo Ou seja, é o Primeiro Código
if (Resultado != "")
{
return Resultado;
}
else
{
return "1";
}
}
Responder

25/09/2013

Joel Rodrigues

Deve dar um erro na string de conexão, quando você usa o &. O correto seria concatenar as strings usando o sinal de adição (+).
Responder

25/09/2013

Jair Souza

Fiz alguns ajustesm até sumir a maioria dos sublinhados em vermelho, mas ficou dois que não consegui...se puderes verificar todo código, pois não sei mais o que fazer....
abaixo a imagem do código.

Desde já agradeço pela paciência...

[url]http://uploaddeimagens.com.br/imagens/select_max_id-png[/url]
Responder

26/09/2013

Joel Rodrigues

O primeiro erro é a String que está escrita errada. As aspas devem envolver toda a String.
O segundo erro é a falta dos parênteses no método ExecuteScalar().
Responder

26/09/2013

Jair Souza

Olá, não está fácil...parece estar tudo certo, mas o ExecuteScalar não tem jeito, se puder quebra mais essa.

[url]http://uploaddeimagens.com.br/imagens/executescalar-png[/url]
Responder

26/09/2013

Joel Rodrigues

Nossa, cara. ExecuteScalar é um método do SqlCommand e você está chamando a partir de uma String. Se você olhar a mensagem de erro, vai entender, pois lá deve dizer que o método não existe.
Responder

26/09/2013

Joel Rodrigues

Repare que você não tem nenhum objeto de conexão com o banco, só tem strings. Logo, nunca vai selecionar nada. Falta ai, por exemplo, uma SqlConnection e um SqlCommand.
Infelizmente não estou no PC agora, mas amanhã eu faço um exemplo pra você, pois pelo jeito está difícil mesmo.
Responder

28/09/2013

Jair Souza

Montei o metodo...mas está dando erro do nome do bd, veja a imagem :

[url]http://uploaddeimagens.com.br/imagens/max_id___1-png[/url]
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar