Problemas com parametros usando IDbDataAdapter.
02/10/2011
0
Boa noite, estou desenvolvendo uma aplicação em camadas, para não causar dependências com o banco de dados e interface, optei por usar os IDbDataAdapter, IDbConnection, IDbCommand E etc...
Porem estou tendo certa dificuldade de passar parâmetros para uma store procedure dentro do Mysql.
Segue uma parte do código a qual me retorna o erro.
public DataSet selectTamanho(int id)
{
IDbCommand command = conexao.CreateCommand();
command.CommandText = "SP_RecuperaTamanho";
command.Parameters.Add(id);
command.CommandType = CommandType.StoredProcedure;
DataSet dataset = new DataSet();
this.adaptador.SelectCommand = command;
this.adaptador.Fill(dataset);
return dataset;
}
A consulta consiste no seguinte.
Cliente clica em um link que é gerado através de outra SP com os Ids em outra camada.
Passa a Id do link selecionado para executar o select no bd adicionando o id como parâmetro
Porem a forma que estou adicionando o parâmetro me retorna o seguinte erro.
Only MySqlParameter objects may be stored.
Na linha onde contem o command.Parameters.Add(id);
O parâmetro passado chega até essa parte, porem não passa para a SP. Qual comando é o correto usando os adaptadores para passar parâmetros?
Pois pelo que note esse tipo de passagem que estou usando funciona somente se eu estiver declarando o bd.
Abraços.
Porem estou tendo certa dificuldade de passar parâmetros para uma store procedure dentro do Mysql.
Segue uma parte do código a qual me retorna o erro.
public DataSet selectTamanho(int id)
{
IDbCommand command = conexao.CreateCommand();
command.CommandText = "SP_RecuperaTamanho";
command.Parameters.Add(id);
command.CommandType = CommandType.StoredProcedure;
DataSet dataset = new DataSet();
this.adaptador.SelectCommand = command;
this.adaptador.Fill(dataset);
return dataset;
}
A consulta consiste no seguinte.
Cliente clica em um link que é gerado através de outra SP com os Ids em outra camada.
Passa a Id do link selecionado para executar o select no bd adicionando o id como parâmetro
Porem a forma que estou adicionando o parâmetro me retorna o seguinte erro.
Only MySqlParameter objects may be stored.
Na linha onde contem o command.Parameters.Add(id);
O parâmetro passado chega até essa parte, porem não passa para a SP. Qual comando é o correto usando os adaptadores para passar parâmetros?
Pois pelo que note esse tipo de passagem que estou usando funciona somente se eu estiver declarando o bd.
Abraços.
Luciano Santos
Curtir tópico
+ 0
Responder
Posts
06/10/2011
Luciano Santos
RESOLVIDO.
Estava passando o parametro de forma errada.
Estava passando o parametro de forma errada.
Responder
Clique aqui para fazer login e interagir na Comunidade :)