orochmaru 0 Denunciar post Postado Julho 31, 2009 tenho o seguinte problema. estou fazendo um cadastro e esta quase tudo certo mas quando tento compilar da um erro. "expected but identifier value found ai vai o trecho do codigo com defeito. se alguem puder analisar e me ajudar. e o piore que tenho so uma semana para terminar o programa. if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios' values ('+mkrg.text+','+ednome.text+','+mkid.text+', '+edend.text+','+mkfone.text+','+x+'); Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 31, 2009 orochmaru, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum O que é aquela ' aspas simples depois do nome da tabela? Remova acredito que não seja necessário. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
orochmaru 0 Denunciar post Postado Agosto 3, 2009 orochmaru, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum O que é aquela ' aspas simples depois do nome da tabela? Remova acredito que não seja necessário. Abraços... ja tentei sem as aspas mas o erro continua. sempre indica um erro no value e no update da o mesmo erro no set. Já fiz um cadastro antes utilizando esses mesmos parametros e não deu este erro. Só que da outra vez usei delphi 5 e agora uso delphi 7 e ja percebi algumas diferenças tipo no 5 alem da aspa simples utiliva aspas duplas mas no 7 quando uso aspa dupla diz que o caractere é ilegal. Sepuder me ajudar neste problema ficarei agradecido pois meu trabalho estará salvo e serei um tecnico formado. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Sanches 0 Denunciar post Postado Agosto 3, 2009 if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios' values ('+mkrg.text+','+ednome.text+','+mkid.text+', '+edend.text+','+mkfone.text+','+x+'); tente algo assim: if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios (RG,NOME,ID,ENDERECO,FONE) values (:RG,:NOME,:ID,:ENDERECO,:FONE)'); ParamByName('RG').Value:= mkrg.text; ParamByName('NOME').Value:= ednome.text; ParamByName('ID').Value:= mkid.text; ParamByName('ENDERECO').Value:= edend.text; ParamByName('FONE').Value:= mkfone.text; ExecSql; end; sendo: RG = Campo RG na tabela USUARIOS NOME = Campo NOME na tabela USUARIOS ID = Campo ID na tabela USUARIOS ENDERECO = Campo ENDERECO na tabela USUARIOS FONE = Campo FONE na tabela USUARIOS qq coisa post novamente ... abraços !!! Compartilhar este post Link para o post Compartilhar em outros sites
orochmaru 0 Denunciar post Postado Agosto 3, 2009 if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios' values ('+mkrg.text+','+ednome.text+','+mkid.text+', '+edend.text+','+mkfone.text+','+x+'); tente algo assim: if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios (RG,NOME,ID,ENDERECO,FONE) values (:RG,:NOME,:ID,:ENDERECO,:FONE)'); ParamByName('RG').Value:= mkrg.text; ParamByName('NOME').Value:= ednome.text; ParamByName('ID').Value:= mkid.text; ParamByName('ENDERECO').Value:= edend.text; ParamByName('FONE').Value:= mkfone.text; ExecSql; end; sendo: RG = Campo RG na tabela USUARIOS NOME = Campo NOME na tabela USUARIOS ID = Campo ID na tabela USUARIOS ENDERECO = Campo ENDERECO na tabela USUARIOS FONE = Campo FONE na tabela USUARIOS qq coisa post novamente ... abraços !!! Vou tentar. fiz um pouco diferente mas funcionou. mas agora surgiu outro problema. Os dados foram salvos da primeira vez mas os valores na tabela ficam apenas como 0 e quando tento salvar outra vez da erro de duplicação entre o 0 e o 1. Vou postar o codigo: procedure Tfrmus.dbusCellClick(Column: TColumn); begin mkrg.text:=dbus.columns[0].field.text; ednome.text:=dbus.columns[1].field.text; mkid.text:=dbus.columns[2].field.text; edend.text:=dbus.columns[3].field.text; mkfone.text:=dbus.columns[4].field.text; if (dbus.columns[5].Field.text='1') then rgsit.itemindex:=1 else rgsit.itemindex:=0; end; procedure Tfrmus.btsalvaClick(Sender: TObject); var x:string; begin if rgsit.itemindex=0 then x:='1' else x:='0'; if not at then with qusuarios do begin close; sql.Clear; sql.Add('insert into usuarios values (rg='+mkrg.text+',nome="'+ednome.text+'",idade='+mkid.Text+',endereco="'+edend.text+'",fone='+mkfone.text+',situacao='+x+')'); try execsql; except application.messagebox ('erro ao gravar','atenção',mb_iconwarning); end; end else with qusuarios do begin close; sql.clear; sql.add('update usuarios set (rg='+mkrg.text+',nome='+ednome.text+',idade='+mkid.text+',endereco='+edend.text+',fone='+mkfone.text+',situacao='+x+')where rg='+mkrg.text+')'); try execsql; except application.MessageBox('erro ao alterar','erro',mb_iconerror); end; end; end; end. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Sanches 0 Denunciar post Postado Agosto 3, 2009 qual erro ele está dando ???? post aki o erro, exatamente como aparece ... abraços !!! Compartilhar este post Link para o post Compartilhar em outros sites
orochmaru 0 Denunciar post Postado Agosto 5, 2009 qual erro ele está dando ???? post aki o erro, exatamente como aparece ... abraços !!! bom o erro é esse: duplicate entry '0' for key 1'. todos os valores que eu coloco v]ao para o banco de dados como 0 e 1 mas n]ao achei a causa do problema ainda. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Agosto 6, 2009 Já debugou seu código para ver que valores está enviando para o seu BD executar e qual a query que está dando o erro? Já pegou esta query e tentou rodar direto no BD colocando os valores passados pelo programa? Já verificou se não está ocorrendo violação de chaves por um erro seu de lógica na passagem dos valores? []'s Compartilhar este post Link para o post Compartilhar em outros sites
orochmaru 0 Denunciar post Postado Agosto 6, 2009 fiquei um bom tempo verificando o codigo mas o prblema é que no meu banco de dados parece estar tudo correto mas no delphi possivelmente é um erro de logica. Até procurei informações sobre este erro na internet mas todos falavam em problema com violação da unique key só que na minha tabela não tem unique key. mas vou continuar procurando pode ser que eu ache o defeito apesar de ter feito varias alterações nos possiveis suspeitos mas até agora não deu resultado. Compartilhar este post Link para o post Compartilhar em outros sites