ERRO DE SINTAXE NA INSTRU?ÃO INSERT INTO
Boa tarde pessoal, estou começando a usar parâmetros agora, sofri um pouco pra entender que fica mais fácil de se entender o código e que é menos passÃvel de erro.
Nas primeiras tentativas, funcionou lindamente, mas agora, com essa tabela (Num db já existente) cheia de campos está dando a mensagem de erro acima, já và e revà toda minha instrução SQL e não encontrei nenhum erro.
Estou usando OLEDB e tentando inserir num banco de dados Access se puderem dar uma olhada e ver o erro !!
Nas primeiras tentativas, funcionou lindamente, mas agora, com essa tabela (Num db já existente) cheia de campos está dando a mensagem de erro acima, já và e revà toda minha instrução SQL e não encontrei nenhum erro.
Estou usando OLEDB e tentando inserir num banco de dados Access se puderem dar uma olhada e ver o erro !!
[Ô]INSERT INTO DadosPessoais(Matricula, ID, Nome, outros_nomes, situproc, Raio, Cela, entrada, procedencia, PP, destino, user, digito, data_nasc, [Ô] _
& [Ô]CPF, Nacionalidade, Naturalidade_cid, naturalidade_uf, estado_civil, profissao, cutis, instrucao, primario, reicidente, data_prisao, localpris, [Ô] _
& [Ô]regime, cond_anterior, desafeto, condicional, h_c, definitiva, indulto, PAD, outros_bene, foto, vulgo, RG ,RGcivil, Pai, Mae, execucao, tent_fuga, [Ô] _
& [Ô]local_fuga, fuga, form_fundam, cabelos, olhos, estatura, peso, def_fisico, sinais_nasc, sinais_cica, sinais_tatu, reg_nasc, reg_bati, reg_casa, reservista, [Ô] _
& [Ô]cnh, ci, titulo_elei, ct, endereco, CidadeEnd, UfEnd, religiao, OrientSexual, adv_s, adv_n, avisar, obs, passagens, obsCRP, processo, vara, pena, inicio, [Ô] _
& [Ô]termino, medida, condenado_a, condenado_m, condenado_d, multa, datainclusao, petiLC, petiLCremi, petiRSA, petiremi, transito, reicluso, foton) VALUES [Ô] _
& [Ô](@Matricula, @ID, @Nome, @Outrosnomes, @SituProc, @Raio, @Cela, @Entrada, @Procedencia, @PP, @Destino, @User, @Digito, @Data_Nasc, @CPF, @Nacionalidade, [Ô] _
& [Ô]@Naturalidade_Cid, @Naturalidade_UF, @EstadoCivil, @profissao, @Cutis, @Instrucao, @primario, @reincidente, @data_prisao, @localpris, @regime, @cond_anterior, [Ô] _
& [Ô]@desafeto, @condicional, @h_c, @definitiva, @indulto, @PAD, @outros_bene, @foto, @vulgo, @RG, @RGcivil, @Pai, @Mae, @execucao, @tent_fuga, @local_fuga, [Ô] _
& [Ô]@fuga, @form_fundam, @cabelos, @olhos, @estatura, @peso, @def_fisico, @sinais_nasc, @sinais_cica, @sinais_tatu, @reg_nasc, @reg_bati, @reg_casa, @reservista, [Ô] _
& [Ô]@cnh, @ci, @titulo_elei, @ct, @endereco, @CidadeEnd, @UfEnd, @religiao, @OrientSexual, @adv_s, @adv_n, @avisar, @obs, @passagens, @obsCRP, @processo, @vara, [Ô] _
& [Ô]@pena, @inicio, @termino, @medida, @condenado_a, @condenado_m, @condenado_d, @multa, @datainclusao, @petiLC, @petiLCremi, @petiRSA, @petiremi, @transito, @reicluso, @foton);[Ô]
Tire o ponto e vÃrgula do final e teste novamente.
tirei o ponto e virgula e continua o mesmo erro!
Sinceramente, já olhei diversas vezes e não consegui identificar o erro.
Acho que você vai ter que dar um jeito de ir salvando campo a campo até ver onde aparece o erro.
Vou continuar tentando.
Acho que você vai ter que dar um jeito de ir salvando campo a campo até ver onde aparece o erro.
Vou continuar tentando.
vou ter que fazer isso mesmo, vou testar campo a campo e depois posto a resposta
Já tentou colocar esses parametros entre aspas simples?
Duas coisas prováveis que podem está acontecendo:
1. O campo user pode gerar conflito com palavras reservadas do Microsoft Jet. Tente renomeá-lo para usuario.
2. Parâmetros em Access não se usa @campo e sim ?. faça a substituição e veja se resolve.
1. O campo user pode gerar conflito com palavras reservadas do Microsoft Jet. Tente renomeá-lo para usuario.
2. Parâmetros em Access não se usa @campo e sim ?. faça a substituição e veja se resolve.
campo de chave primaria não se inclui no insert e vi um ID tipicamente uma chave primaria
Esse erro é geralmente associado à valores de parâmetros. Verifique-os, valores NULL podem causar esse erro. Verifique também os tipos de dados dos valores comparando com os tipos de dados da tabela.
Cara, a dica que eu dou é:
Para INSERT INTO muito grande assim, você pega a string de retorno (Toda parametrizada já) e joga no management sql server. Lá você pode ver mais facilmente o erro.
Outra coisa que recomendo é começar usar mapeamento objeto relacional. Você acaba perdendo muito tempo fazendo essas concatenações e problema com Insert Into.
Dá uma olhadinha no Entity Framework. Se não quiser, faz o seu próprio. Eu fiz um meu também, fica muito melhor. Nunca mais tive dor de cabeça com essas Queries de Update e Insert. Vale a pena.
Grande abraço!
Para INSERT INTO muito grande assim, você pega a string de retorno (Toda parametrizada já) e joga no management sql server. Lá você pode ver mais facilmente o erro.
Outra coisa que recomendo é começar usar mapeamento objeto relacional. Você acaba perdendo muito tempo fazendo essas concatenações e problema com Insert Into.
Dá uma olhadinha no Entity Framework. Se não quiser, faz o seu próprio. Eu fiz um meu também, fica muito melhor. Nunca mais tive dor de cabeça com essas Queries de Update e Insert. Vale a pena.
Grande abraço!
Bem pessoal, demorei um pouco pra responder pois estava testando as dicas de vocês e ao mesmo tempo vendo outras coisas também, só não testei a dica do ACCIOLLY e a do DS2T, e não funcionou. tou seguindo a primeira dica, inserir um campo por vez pra ver onde dá o erro, o primeiro campo inseriu blz, dando nome ao parâmetro: @Matricula
depois posto onde estava o erro, se achar rsrsrs
depois posto onde estava o erro, se achar rsrsrs
Tópico encerrado , respostas não são mais permitidas