gsguma Postado Fevereiro 10, 2008 Denunciar Share Postado Fevereiro 10, 2008 (editado) Galera,Alguém pode dar uma força ai!!!conexao.ado_emissao.Close; conexao.ado_emissao.open; conexao.adq_emissao.active:=false; conexao.adq_emissao.sql.clear; conexao.adq_emissao.sql.add('update tabela set item='''+edit_item.text+''' where codigo='+edit_codigo.text+' '); conexao.adq_emissao.ExecSQL;Aplicação simples Delphi e access(tipo de dados tabela => codigo = integer longo "autonumeração ou auto increment")O que falta? Editado Fevereiro 10, 2008 por Micheus Separados os comando por linha para melhorar a visualização do código Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 10, 2008 Denunciar Share Postado Fevereiro 10, 2008 gsguma, sua dúvida não ficou muito clara.Qual o problema/erro que você está tendo?Aparentemente o UPDATE estaria correto.conexao.adq_emissao.sql.add('update tabela set item='''+edit_item.text+''' where codigo='+edit_codigo.text+' ') apenas que se este seu campo item for do tipo inteiro, você não precisa utilizar áspas, ou seja, poderia ficar deste modo: conexao.adq_emissao.sql.add('update tabela set item='+edit_item.text+' where codigo='+edit_codigo.text+' ') Uma observação quanto a sua codificação: setar a propriedade Active = False ou chamar o método Close é exatamente a mesma coisa, logo, use apenas um. E também, não faz muito sentido chamar o método Open como você colocou. Então, pode ser, também, que seu problema não citado esteja relacionado a este Open, dependendo do que esteja colocado na propriedade SQL. A sua consulta de forma mais correta (se eu não estiver errado quanto aos campos) seria: conexao.ado_emissao.Close; conexao.adq_emissao.sql.Clear; conexao.adq_emissao.sql.Add('update tabela set item='+edit_item.text+' where codigo='+edit_codigo.text+' '); conexao.adq_emissao.ExecSQL; Mas já aconselho a ir pensando em usar parametrização, este hábito pode lhe poupar dores de cabeças futuras. Fazendo uso deste recurso, seu código ficaria assim (ex. supondo uso de ADO): conexao.ado_emissao.Close; conexao.adq_emissao.sql.Clear; conexao.adq_emissao.sql.Add('update tabela set item = :Item where codigo = :Codigo '); conexao.adq_emissao.Params.ParamByName('Item').AsInteger := StrToInt(edit_item.text); conexao.adq_emissao.Params.ParamByName('Codigo').AsInteger := StrToInt(edit_codigo.text); conexao.adq_emissao.ExecSQL;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
gsguma
Galera,
Alguém pode dar uma força ai!!!
Aplicação simples Delphi e access
(tipo de dados tabela => codigo = integer longo "autonumeração ou auto increment")
O que falta?
Editado por MicheusSeparados os comando por linha para melhorar a visualização do código
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.