Fórum ADO.NET - Inserção em tabela - SqlCeException #389256

25/10/2010

0

Bom dia!   Estou desenvolvendo um projeto mobile, e tento fazer uso do código abaixo para inserir em uma tabela   StringBuilder sql = new StringBuilder();
sql.AppendLine("INSERT INTO TB_VISTORIA_PADRAO_FOTO (");
sql.AppendLine("  id_Vistoria");
sql.AppendLine(", id_Pergunta");
sql.AppendLine(", imFoto");
sql.AppendLine(") VALUES (");
sql.AppendLine("  @idVistoria");
sql.AppendLine(", @idPergunta");
sql.AppendLine(", @foto");   _cmd.Parameters.Clear();
_cmd.Parameters.Add(_conexao.CreateParameter("idVistoria", SqlDbType.Int, ParameterDirection.Input, 0, foto.VistoriaPadrao.Id));
_cmd.Parameters.Add(_conexao.CreateParameter("idPergunta", SqlDbType.Int, ParameterDirection.Input, 0, foto.Pergunta.Id));
_cmd.Parameters.Add(_conexao.CreateParameter("foto", SqlDbType.Image, ParameterDirection.Input, 0, foto.Foto)); _cmd.ExecuteNonQuery();   O método "CreateParameter" retorna um objeto do tipo SqlCeParameter. Ao passar pelo método "ExecuteNonQuery", eu recebo esta exceção:   There was an error parsing the query. [ Token line number = 9,Token line offset = 3,Token in error =  ]   O que pode estar ocorrendo?   Fico no aguardo, obrigado!      
Carlos Nogueira

Carlos Nogueira

Responder

Posts

25/10/2010

Luiz Maia

Carlos,   Este erro é geralmente por causa de algum erro na montagem da query. Mas, pelo que vi de sua query, parece que está tudo ok.   É comum este erro também aparecer quando vc faz o select antes de abrir a Conexão, tente alterar a ordem. Abra a conexão antes e depois monte o select logo abaixo, não sei por que, mas ja vi varios casos onde funcionou!   Aguardo retorno. Att Luiz Maia
Responder

Gostei + 0

25/10/2010

Carlos Nogueira

Oi Luiz,   Descobri o problema. Cara, é vergonhoso, mas o problema estava sendo gerado porque esqueci de fechar o parentenses da instrução INSERT, rs... Fiz isso e deu certo. Achei estranho porque nas pesquisas que fiz para esta exceção, diz que no framework 2.0 o CF não reconhece parâmetros nomeados, mas faço uso do 3.5, então não tinha lógica.   Mas tudo bem, como dizem, acontece nas melhores familias, rsrs...   Pode finalizar o post, e obrigado ai pela sua atenção!   Abraços!
Responder

Gostei + 0

26/10/2010

Luiz Maia

Isto mesmo, faltou fechar o paranteses do Value! rsrsr Tem erro não, precisando, continuamos à sua disposição.   Abraços Att Luiz Maia
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar