Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá gente,
Na hora que estou passando os parâmetros para a inserção de dados no banco, aparece o seguinte erro:
{"The parameterized query '(@placa nvarchar(4000))INSERT INTO Veiculo(placa) VALUES (@placa' expects the parameter '@placa', which was not supplied."}
Mesmo assim o valor é cadastrado no banco de dados. Pena que o código não continua rodando.
O método é o seguinte:
public int inserir(VeiculoVO vo)
{
int retorno = 0;
conn = GerenciadorConexao.getConexao();
SqlCommand command = new SqlCommand();
if (vo.cliente.id != 0)
{
command.CommandText = "INSERT INTO " + this.getNomeTabela() + " (placa, IdCliente) VALUES ( @placa, @IdCliente)";
command.Connection = conn;
command.Parameters.Add(this.novoParametro("placa", DbType.String, vo.placa));
command.Parameters.Add(this.novoParametro("IdCliente", DbType.Int32, vo.cliente.id));
}
else if (vo.cliente.id == 0)
{
command.CommandText = "INSERT INTO " + this.getNomeTabela() + "(placa) VALUES (@placa)";
command.Connection = conn;
command.Parameters.Add(this.novoParametro("placa", DbType.String, vo.placa));
}
try
{
abrirConexao();
//retorna o número de linhas afetadas
retorno = command.ExecuteNonQuery();
if (retorno > 0)
vo.id = GerenciadorConexao.getId(this.getNomeTabela());
return retorno;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConexao();
}
}Carregando comentários...