Array
(
)

Argumento 2 não pode converter de string para int

Jair Souza
   - 03 set 2014

Como ajustar esta consulta ?
Clique na imagem para abrir em uma nova janela

Jair Souza
   - 04 set 2014

Tentei assim e dá o mesmo erro :

#Código

this.funcionarioTableAdapter.FillByCodigo(this.bDBibliotecaDataSet.Funcionario, Convert.ToInt32(iDFuncionario.Text));


O select está assim :

#Código
SELECT F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao, [F.E-mail], 
[F.Data de Cadastro], [F.Cadastrado Por], [F.Data de Alteracao], [F.Alterado por], F.Foto, F.Obs, F.Obs2
FROM (Funcionario F INNER JOIN Perfil P ON F.Perfil = P.IDPerfil)
WHERE (F.IDFuncionario LIKE '%' + ? + '%')

Pjava
   - 04 set 2014

Mas em que momento está dando o erro. Quando roda a query? Onde está o argumento 2? A imagem mostra apenas o resultado do erro, mas precisamos de onde e em que situação o erro acontece.

Jair Souza
   - 04 set 2014

O erro dá nesta linha :

Citação:
this.funcionarioTableAdapter.FillByCodigo(this.bDBibliotecaDataSet.Funcionario,(nomefunctextBox.Text));


Que chama pelo método fillby este select :

Citação:
SELECT F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao, [F.E-mail],
[F.Data de Cadastro], [F.Cadastrado Por], [F.Data de Alteracao], [F.Alterado por], F.Foto, F.Obs, F.Obs2
FROM (Funcionario F INNER JOIN Perfil P ON F.Perfil = P.IDPerfil)
WHERE (F.IDFuncionario LIKE '%' + ? + '%')


O campo a pesquisar F.IDFuncionario, como o nome já diz é numérico, me parece que o erro estaria no WHERE, mas não sei o que alterar...

Jair Souza
   - 09 set 2014

Consegui, o único porém é que com esta linha "WHERE (F.IDFuncionario LIKE ? )", só traz o registro específico, e eu gostaria que trouxesse todos que começassem com o número digitado, mas... ficou assim :

O SELECT no query builder :
#Código

SELECT F.IDFuncionario, F.Nome, F.Login, F.Senha, F.Perfil, P.Descricao, F.Situacao, [F.E-mail], 
[F.Data de Cadastro], [F.Cadastrado Por], [F.Data de Alteracao], [F.Alterado por], F.Foto, F.Obs, F.Obs2
FROM (Funcionario F INNER JOIN Perfil P ON F.Perfil = P.IDPerfil)
WHERE (F.IDFuncionario LIKE ? )


E assim a chamada do método Fill :
#Código
this.funcionarioTableAdapter.FillByCodigo(this.bDBibliotecaDataSet.Funcionario,Convert.ToInt32(nomefunctextBox.Text));