Fórum Update com ADOquery delphi #574374
31/01/2017
0
Alguém teria algum exemplo de update utilizando a conexão com ADO?
Tentei com o procedimento do link: https://www.devmedia.com.br/forum/adoconnection-e-adoquery/178873.... mas não deu certo.
Se puderem ajudar, agradeço muito, pois só falta o update.
Obrigado
Nomad
Curtir tópico
+ 0Post mais votado
31/01/2017
Qual o erro que tá dando?
Pra conexão tu pode tentar isso aqui:
http://doispontozero-programador.blogspot.com.br/2017/01/conectando-o-delphi-com-o-banco-de.html
Daniel Araújo
Gostei + 1
Mais Posts
31/01/2017
Nomad
Alguém teria algum exemplo de update utilizando a conexão com ADO?
Tentei com o procedimento do link: https://www.devmedia.com.br/forum/adoconnection-e-adoquery/178873.... mas não deu certo.
Se puderem ajudar, agradeço muito, pois só falta o update.
Obrigado
O link é: https://www.devmedia.com.br/forum/adoconnection-e-adoquery/178873
Gostei + 0
31/01/2017
Nomad
Alguém teria algum exemplo de update utilizando a conexão com ADO?
Tentei com o procedimento do link: https://www.devmedia.com.br/forum/adoconnection-e-adoquery/178873.... mas não deu certo.
Se puderem ajudar, agradeço muito, pois só falta o update.
Obrigado
Algm poderia ajudar?
Gostei + 0
31/01/2017
Nomad
Qual o erro que tá dando?
Pra conexão tu pode tentar isso aqui:
http://doispontozero-programador.blogspot.com.br/2017/01/conectando-o-delphi-com-o-banco-de.html
Boa tarde, Daniel.
Não chega a ocorrer erro, somente não altera mesmo. Acredito que o código de alteração esteja incorreto.
A conexão está ok... Inclui, consulta e exclui normalmente. A dúvida é no update mesmo, não sei como fazer.
Obrigado.
Gostei + 0
31/01/2017
Daniel Araújo
Gostei + 1
31/01/2017
Nomad
Então Daniel... Eu testei com o código daquele link que passei no inicio, na primeira pergunta.. E como não deu certo, acabei apagando.
Estou sem o código para alterar agora, apenas com o Form criado mesmo.. Teria algum trecho que poderia me enviar para eu testar?
Gostei + 0
31/01/2017
Natanael Ferreira
with ADOQUERY do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE [tabela] SET [campo=:a] WHERE [condição=:b]');
Parameters.ParamByName('a').Value:=[novo valor];
Parameters.PatamByName('b').Value:=[condição de atualização];
ExecSQL;
Open;
end; Gostei + 1
31/01/2017
Daniel Araújo
Query.Close();
Query.SQL.Add('UPDATE cliente');
Query.SQL.Add(' SET nome = "' + edtNome.Text + '"');
Query.SQL.Add('WHERE codigo = ' + edtCodigo.Text);
Query.Exec();
Gostei + 1
31/01/2017
Nomad
Query.Close();
Query.SQL.Add('UPDATE cliente');
Query.SQL.Add(' SET nome = "' + edtNome.Text + '"');
Query.SQL.Add('WHERE codigo = ' + edtCodigo.Text);
Query.Exec();
Daniel, fiz desta forma adaptando para minhas necessidades e ficou:
qryAlteraSocio.Close();
qryAlteraSocio.SQL.Add('UPDATE cadastro_socio');
qryAlteraSocio.SQL.Add(' SET nome = "' + DBEnome.Text + '"');
qryAlteraSocio.SQL.Add('WHERE codigo = ' + DBEcod.Text);
qryAlteraSocio.ExecSQL();
Mas ao tentar alterar ocorre o erro: Um nome de objeto ou coluna está faltando ou está vazio. Verifique se todas as colunas das instruções SELECT INTO têm nomes. Nas outras instruções, procure nomes de alias vazios. Alias definidos como " " ou [] não são permitidos. Adicione um nome ou um espaço único como nome de alias.
Saberia me informar o que pode ser?
Gostei + 0
31/01/2017
Daniel Araújo
Acho que é só isso mesmo. Faz assim:
qryAlteraSocio.Close();
qryAlteraSocio.SQL.Clear();
qryAlteraSocio.SQL.Add('UPDATE cadastro_socio');
qryAlteraSocio.SQL.Add(' SET nome = "' + DBEnome.Text + '"');
qryAlteraSocio.SQL.Add('WHERE codigo = ' + DBEcod.Text);
qryAlteraSocio.ExecSQL();
Gostei + 1
31/01/2017
Daniel Araújo
qryAlteraSocio.SQL.Add(' SET nome = "' + DBEnome.Text + '"');por isso:
qryAlteraSocio.SQL.Add(' SET nome = ' + QuotedStr(DBEnome.Text) );Gostei + 1
31/01/2017
Nomad
qryAlteraSocio.SQL.Add(' SET nome = "' + DBEnome.Text + '"');por isso:
qryAlteraSocio.SQL.Add(' SET nome = ' + QuotedStr(DBEnome.Text) );Daniel, somente amanhã na parte da manhã que poderei fazer os testes. Mas dando certo ou não, irei responder aqui. Caso não dê certo, espero que possa continuar me ajudando.
Desde já, agradeço muito a compreensão e ajuda;
Gostei + 0
01/02/2017
Nomad
qryAlteraSocio.SQL.Add(' SET nome = "' + DBEnome.Text + '"');por isso:
qryAlteraSocio.SQL.Add(' SET nome = ' + QuotedStr(DBEnome.Text) );Daniel, bom dia.
Desta forma ocorre o erro: Sintaxe incorreta próxima a '='. E não consegui identificar o que está errado.
Fiz um teste informando o QuotedStr na linha do WHERE, e ocorre a seguinte situação.. Quando clico para alterar, apaga todos os campos. Saio da tela, e se tento acessar novamente ocorre o erro "qryAlteraSocio: Cannot perform this operation on a closed dataset".
Gostei + 0
01/02/2017
Daniel Araújo
Gostei + 1
01/02/2017
Nomad
Da forma como orientou...
qryAlteraSocio.Close();
qryAlteraSocio.SQL.Clear();
qryAlteraSocio.SQL.Add('UPDATE cadastro_socio');
qryAlteraSocio.SQL.Add('SET nome ='+QuotedStr(DBEnome.Text));
qryAlteraSocio.SQL.Add('WHERE codigo ='+DBEcod.Text);
qryAlteraSocio.ExecSQL();
Alterando o WHERE...
qryAlteraSocio.Close();
qryAlteraSocio.SQL.Clear();
qryAlteraSocio.SQL.Add('UPDATE cadastro_socio');
qryAlteraSocio.SQL.Add('SET nome ='+QuotedStr(DBEnome.Text));
qryAlteraSocio.SQL.Add('WHERE codigo ='+QuotedStr(DBEcod.Text));
qryAlteraSocio.ExecSQL();
Gostei + 0
01/02/2017
Daniel Araújo
Tenta dessa forma:
qryAlteraSocio.Close();
qryAlteraSocio.SQL.Clear();
qryAlteraSocio.SQL.Add('UPDATE cadastro_socio');
qryAlteraSocio.SQL.Add(' SET nome = '+QuotedStr(DBEnome.Text));
qryAlteraSocio.SQL.Add(' WHERE codigo = '+DBEcod.Text);
qryAlteraSocio.ExecSQL();
Inclui alguns espaços antes do SET e do WHERE.
Se continuar dando erro, posta a mensagem do erro também.
Outra coisa, verifica se o DBEcod.Text está preenchido com o código do sócio.
Tu sabe depurar código?
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)