Problema com SELECT Access
23/05/2014
0
Bom dia, não estou conseguindo acertar este SELECT em um BD Access :
Windows Form C#.
Assim ele só lê o login, usando OR :
Assim tem de ser os dois, se não não considera, usando AND ;
Assim dá erro dizendo que o operador está errado, usando | | ...
Mas eu preciso que o SELECT pegue se o nome for igual OU o login for igual como fazer alguém sabe ?
Windows Form C#.
Assim ele só lê o login, usando OR :
OleDbCommand comando = new OleDbCommand("SELECT Nome, Login From Funcionario WHERE Nome = @nome Or Login = @login", conexao);
Assim tem de ser os dois, se não não considera, usando AND ;
OleDbCommand comando = new OleDbCommand("SELECT Nome, Login From Funcionario WHERE Nome = @nome AND Login = @login", conexao);
Assim dá erro dizendo que o operador está errado, usando | | ...
OleDbCommand comando = new OleDbCommand("SELECT Nome, Login From Funcionario WHERE Nome = @nome | | Login = @login", conexao);
Mas eu preciso que o SELECT pegue se o nome for igual OU o login for igual como fazer alguém sabe ?
Jair Souza
Curtir tópico
+ 0
Responder
Posts
23/05/2014
William Maximo
OleDbCommand comando = new OleDbCommand("SELECT Nome, Login From Funcionario WHERE Nome = @nome Or Login = @login", conexao);
a primeira opção esta correta, mas quando se usa o operação = voce tem que escrever o nome da mesma maneira que esta salvo no banco
experimente usar Like
SELECT Nome, Login From Funcionario WHERE Nome like @nome OR Login like @login
a primeira opção esta correta, mas quando se usa o operação = voce tem que escrever o nome da mesma maneira que esta salvo no banco
experimente usar Like
SELECT Nome, Login From Funcionario WHERE Nome like @nome OR Login like @login
Responder
24/05/2014
Jair Souza
Não mudou nada com LIKE, e o curioso é que para o primeiro registro ele considera tanto o nome como o login e avisa se um OU outro já está cadastrado, mas do segundo registro em diante não...assim está o código se tiver mais uma dica agradeço muito, pois já estou a mais de dez dias lutando com esta parte do projeto...
private void BtnSalvar_Click(object sender, EventArgs e) { try { OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\BDBiblioteca.mdb"); OleDbCommand comando = new OleDbCommand("SELECT Nome, Login From Funcionario WHERE Nome LIKE @nome or Login LIKE @login", conexao); comando.Parameters.AddWithValue("@nome", nomeTextBox.Text); comando.Parameters.AddWithValue("@login", loginTextBox.Text); conexao.Open(); OleDbDataReader reader = null; reader = comando.ExecuteReader(CommandBehavior.CloseConnection); { if (reader.HasRows) { if (reader.Read()) { if ((BtnAlterar.Checked == false)) { MessageBox.Show("Nome ou Login já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning); nomeTextBox.Focus(); }
Responder
Clique aqui para fazer login e interagir na Comunidade :)