ERRO CHATO C # INSERT MYSQL

FBGSYSTEMS 21/03/2014 17:59:31
#436388
Boa tarde galera.
Estou há mais de 2 horas em um problema que nunca me deu dor de cabeça

Tenho um metodo pra insert em uma tabela, porem ela nao funciona.
Recebo o erro [Ô]Error during command execution[Ô]

Todos os campos no BD estão condizentes com o tipo na minha classe, todos os campos estão sendo passados
Ja tentei mudar o tipo do campo data e hora pra varchar só pra ver se tinha algo ali, e nada resolveu
Tentei até tirar a data e hora da sql

Segue meu metodo
        public string insertExtrato()
{
string retornoConexao;
databases conecta = new databases();
retornoConexao = conecta.conectaMySql();
// abre a instancia do comando SQL
if (retornoConexao != [Ô]Conectou[Ô])
{
return retornoConexao;
}
else
{

try
{
this.sql = [Ô]insert into extrato_lote (codempresa,codprod,codlote,qtd,codusuario,tipo,descricao,data,hora,janela) VALUES [Ô] +
[Ô](@codempresa,@codprod,@codlote,@qtd,@codusuario,@tipo,@descricao,@data,@hora,@janela)[Ô];

MySqlCommand insert = new MySqlCommand();

insert.Connection = conecta.conexao;
insert.CommandText = this.sql;

insert.Parameters.AddWithValue ([Ô]@codempresa[Ô],clsUsuarioSessao.CodEmpresa);
insert.Parameters.AddWithValue ([Ô]@codprod[Ô],codprod);

insert.Parameters.AddWithValue([Ô]@codlote[Ô], codlote);
insert.Parameters.AddWithValue([Ô]@qtd,[Ô], qtd);
insert.Parameters.AddWithValue([Ô]@codusuario[Ô], clsUsuarioSessao.Codigo);
insert.Parameters.AddWithValue([Ô]@tipo[Ô], tipo);
insert.Parameters.AddWithValue([Ô]@descricao[Ô], descricaooperacao);
insert.Parameters.AddWithValue([Ô]@data[Ô],Convert.ToDateTime(DateTime.Now.ToShortDateString ()));
insert.Parameters.AddWithValue([Ô]@hora[Ô], TimeSpan.Parse(DateTime.Now.ToLongTimeString ()));
insert.Parameters.AddWithValue([Ô]@janela[Ô], janela);
//insert.Parameters.AddWithValue([Ô]@saldo[Ô], 0);

insert.ExecuteNonQuery();

return [Ô]Dados inseridos com sucesso![Ô];
}
catch (MySqlException erro)
{
this.err = erro.Message;
return this.err;
}
finally
{
conecta.desconectaMySql();
}
}


Testei em outro metodo de outra classe que é exatamente a mesma estrutura e funcionou normalmente.
KERPLUNK 21/03/2014 18:03:02
#436389
Verifique a innerException, pode ter mais alguma informação.
LAMPIAO 22/03/2014 00:02:29
#436392
Cara, com essa @ nos parâmetros, pra mim nunca funcionou direito, o que funciona perfeito pra mim segue abaixo

public string Insert(string nome, string cpf)
{
AbreConexao();

try
{
var sSql = [Ô]insert into tabela (nome, cpf, dataCadastro ) values (?,?,?)[Ô];
var cmd = new MySqlCommand(sSql, _cn);
cmd.Parameters.AddWithValue([Ô]?nome[Ô], nome);
cmd.Parameters.AddWithValue([Ô]?cpf[Ô], cpf));
cmd.Parameters.AddWithValue([Ô]?dataCadastro[Ô], DateTime.Now);
cmd.ExecuteNonQuery();
return null;
}
catch (Exception e)
{
return e.Message + [Ô], [Ô] + e.Source;
}
finally
{
FechaConexao();
}
}

Obviamente, é um exemplo simples, e os parâmetros de entrada devem vir de uma outra classe, como a que você já tem, o resto são ajustes, espero que sirva pra você.

Abraços
FBGSYSTEMS 22/03/2014 08:53:31
#436395
LAMIPAO, tentei e nao deu certo, continua a mesma coisa.

KERPLUNK, onde vejo isso ?
FBGSYSTEMS 22/03/2014 09:02:26
#436396
Consegui ver, e a mensagem foi a seguinte:
[Ô]Parameter [ô]@qtd[ô] must be defined.[Ô]

Mas ele esta definido. Estranho !
FOXMAN 22/03/2014 09:21:13
#436397
Resposta escolhida
Amigo,

Errinho básico aí....

Troca a seguinte linha :

 insert.Parameters.AddWithValue([Ô]@qtd,[Ô], qtd);

Por :

 insert.Parameters.AddWithValue([Ô]@qtd[Ô], qtd);


Veja se funciona.
FBGSYSTEMS 22/03/2014 09:24:02
#436399
Aff, nao acredito que fiquei horas nisso por causa duma bendita virgula, que falta de atenção.

MANCADA

Valeu pessoal
FOXMAN 22/03/2014 12:08:29
#436403
Citação:

:
Aff, nao acredito que fiquei horas nisso por causa duma bendita virgula, que falta de atenção.

MANCADA

Valeu pessoal



Se solucionou o seu problema encerre o tópico....
Tópico encerrado , respostas não são mais permitidas