Yoshi 1 Denunciar post Postado Novembro 9, 2007 Ai gente como q eu deleto um registro numa Base de dados em Access tentei o seguinte comandu mais achu q ta tudo erradu procedure TFrmConfig.ConfigClear; begin with DMBanco.QSetup do begin Close; SQL.Clear; Sql.Add('delete from setup where entidade = :OLD_entidade and cota = :OLD_cota'); ParamByName('entidade').AsString := txtentidade.Text; ParamByName('cota').AsString := txtcota.Text; ExecSQL; end end; flw abçs Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 9, 2007 Tente o seguinte: procedure TFrmConfig.ConfigClear; begin DMBanco.QSetup.Close; DMBanco.QSetup.SQL.Clear; DMBanco.QSetup.SQL.Add('delete from setup'); DMBanco.QSetup.SQL.Add('where entidade = ' + txtentidade.Text); DMBanco.QSetup.SQL.Add('and cota = ' + txtcota.Text); DMBanco.QSetup.ExecSQL; end; Qual erro que mostra para você ? Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Generate SQL error. Eram esperados 1.'. Process Stopped Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Precisa verificar se os campos que estão sofrendo where e and não são string, caso sejam precisa colocar entre aspas o valor a ser restringido, e verificar se no TEdit que esta sendo passado para a restrição não possuir aspas a mais... Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Verifiquei as duas são Strings e Continua com o mesmo erro Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Faz o seguinte, de um SaveToFile no comando SQL e vamos ver o que ele executa: procedure TFrmConfig.ConfigClear; begin DMBanco.QSetup.Close; DMBanco.QSetup.SQL.Clear; DMBanco.QSetup.SQL.Add('delete from setup'); DMBanco.QSetup.SQL.Add('where entidade = ' + txtentidade.Text); DMBanco.QSetup.SQL.Add('and cota = ' + txtcota.Text); DMBanco.QSetup.SQL.SaveToFile('c:\sql.txt'); DMBanco.QSetup.ExecSQL; end; Ele vai salvar o seu comando SQL em um arquivo no c:\ chamado sql.txt, poste ele aqui para vermos o que pode estar acontecendo... E se os dois campos ENTIDADE e COTA são strings, passe o comando entre strings... procedure TFrmConfig.ConfigClear; begin DMBanco.QSetup.Close; DMBanco.QSetup.SQL.Clear; DMBanco.QSetup.SQL.Add('delete from setup'); DMBanco.QSetup.SQL.Add('where entidade = ''' + txtentidade.Text + ''''); DMBanco.QSetup.SQL.Add('and cota = ''' + txtcota.Text + ''''); DMBanco.QSetup.ExecSQL; end; Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Fmz Broder funciono mais você pode me da mais uma ajudinha pra mim fazer pra atualiza um registro possu ussa um commandu assim? SQL.Clear; Sql.Add('update from setup'); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Precisa mudar um pouco o comando e definir os campos que deseja setar... SQL.Clear; Sql.Add('update tabela'); SQL.Add('set tabela.campo1 = XXXX'); SQL.Add(', tabela.campo2 = YYYY'); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Tpw coloquei assim mais ta dandu um erro ma linha 3 e 4 SQL.Clear; Sql.Add('update SETUP'); SQL.Add('set SETUP.ENTIDADE = XXXX'); SQL.Add('SETUP.COTA = YYYY'); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Vlws Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Precisa colocar a vírgula entre os campos a setar... SQL.Clear; Sql.Add('update SETUP'); SQL.Add('set SETUP.ENTIDADE = XXXX'); SQL.Add(', SETUP.COTA = YYYY'); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Revise sempre os fontes em busca do erro conforme a linha acusada... Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Agora ta dandu um erro eram esperado 2 Close; SQL.Clear; Sql.Add('update SETUP'); SQL.Add('set SETUP.ENTIDADE = XXXX'); SQL.Add(', SETUP.COTA = YYYY'); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Se os campos são do tipo string, deve de passar entre aspas... Close; SQL.Clear; Sql.Add('update SETUP'); SQL.Add('set SETUP.ENTIDADE = ''XXXX'''); SQL.Add(', SETUP.COTA = ''YYYY'''); SQL.Add('where entidade = ''' + txtentidade.Text + ''''); SQL.Add('and cota = ''' + txtcota.Text + ''''); ExecSQL; Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 na função SQl nem ta dandu mais erro porem naum ta salvandu as alterações na tebela. sera algum erro q eu fiz na conexão ODBC? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Pode ser a restrição que você implementou não esta pegando nenhum registro... Faz um SQL restringindo pelos filtros informados no comando de UPDATE e veja se retorna algo... Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Novembro 12, 2007 Marcio ja fiz de tudo reconfigurei a base de Dados e não atualiza ele efetuada toda config SQL mais na hora de atualiza naum acontece nada ele ta incluindu e deletandu normalmente o q pode ser??? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2007 Como disse no post anterior, você tem um comando WHERE seguindo de mais um restrição AND, verifique se tem no seu BD itens que satisfaçam esta restrição para que sofra o UPDATE Compartilhar este post Link para o post Compartilhar em outros sites