Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lívio Bruno

Update SQL

Recommended Posts

Bom dia amigos,

 

estou com um probleminha... estou tentando atualizar um campo e o código é esse abaixo:

 

DM1.SQLQuery_Clientes.Close;

DM1.SQLQuery_Clientes.sql.clear;

DM1.SQLQuery_Clientes.sql.add(

 

'UPDATE Clientes SET CLIENTE = '+''''+Edit_Cliente.Text+''''+

', CPF = '+''''+Edit_CPF.Text+'''' +

', DIA_NASCIMENTO = '+''''+Edit_DataNascDia.Text+'''' +

', MES_NASCIMENTO = '+''''+Edit_DataNascMes.Text+'''' +

', ANO_NASCIMENTO = '+''''+Edit_DataNascAno.Text+'''' +

', DATA_NASCIMENTO = '+''''+Edit_DataNascDia.Text+'''' + '/' + ''''+Edit_DataNascMes.Text+'''' + '/' + ''''+Edit_DataNascAno.Text+'''' +

', ENDERECO = '+''''+Edit_Endereco.Text+'''' +

', BAIRRO = '+''''+Edit_Bairro.Text+'''' +

', CIDADE = '+''''+Edit_Cidade.Text+'''' +

 

'Where COD = ' + ''''+Edit_COD.Text+'''');

 

DM1.SQLQuery_Clientes.ExecSql;

 

O campo é "DATA_NASCIMENTO". O que eu estou fazendo? Estou inserindo valores de data(dia, mes e ano) em edits separados e salvando nos seus respectivos campos(DIA_NASCIMENTO, MES_NASCIMENTO e ANO_NASCIMENTO), agora queria atualizar o campo "DATA_NASCIMENTO" somando o valor dos três edits(Edit_DataNascDia.Text+'''' + '/' + ''''+Edit_DataNascMes.Text+'''' + '/' + ''''+Edit_DataNascAno.Text) e colocando a barra para separar as datas(dia, mes e ano) mas ele esta dividindo. Exemplo: para uma data de "15/04/1980" ele atualiza o campo "DATA_NASCIMENTO" com o resultado de "0.00189393". O que posso fazer?

 

Obs1.: Se eu tirar as barras ele atualiza o campo "DATA_NASCIMENTO" assim: 15'04'1980.

 

Obs2.: Uso Delphi 2010 banco de dados MySQL 5.1 e componentes SQLConection, SqlQuery, DataSetProvider e ClientDataSet.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigos de qualquer forma obrigado! Resolvi dessa forma:

 

procedure Tform_CadClientes.toolbtn_AtualizarClick(Sender: TObject);

var

v_data: string;

begin

 

v_data := (Edit_DataNascDia.Text + '/' + Edit_DataNascMes.Text + '/' + Edit_DataNascAno.Text);

 

if not (DM1.ClienteDataSet_Clientes.State in [dsEdit]) then

begin

MessageBox(Application.Handle, 'Primeiro escolha um registro e clique em "EDITAR REGISTRO".', 'INFORMAÇÃO', MB_ICONINFORMATION + MB_OK);

Abort;

end else

 

begin

if (DM1.ClienteDataSet_Clientes.State in [dsEdit]) then

begin

 

// Atualiza os dados

DM1.SQLQuery_Clientes.Close;

DM1.SQLQuery_Clientes.sql.clear;

DM1.SQLQuery_Clientes.sql.add(

 

'UPDATE Clientes SET CLIENTE = '+''''+Edit_Cliente.Text+''''+

', CPF = '+''''+Edit_CPF.Text+'''' +

', DIA_NASCIMENTO = '+''''+Edit_DataNascDia.Text+'''' +

', MES_NASCIMENTO = '+''''+Edit_DataNascMes.Text+'''' +

', ANO_NASCIMENTO = '+''''+Edit_DataNascAno.Text+'''' +

', DATA_NASCIMENTO = '+ ''''+v_data+'''' +

', ENDERECO = '+''''+Edit_Endereco.Text+'''' +

', BAIRRO = '+''''+Edit_Bairro.Text+'''' +

', CIDADE = '+''''+Edit_Cidade.Text+'''' +

', UF = '+''''+ComBoxEx_UF.Text+'''' +

', CEP = '+''''+Edit_CEP.Text+'''' +

 

'Where COD = ' + ''''+Edit_COD.Text+'''');

 

DM1.SQLQuery_Clientes.ExecSql;

 

// Atualizar o DBGrid Clientes

// Desligando a Query e o ClientDataSet

DM1.SQLQuery_Clientes.Active := False;

DM1.ClienteDataSet_Clientes.Active := False;

 

// Limpando a Query

DM1.SQLQuery_Clientes.SQL.Clear;

 

// Escrever novo comando SQL

DM1.SQLQuery_Clientes.SQL.Add('select * from Clientes');

 

// Ligando a Query e o ClienteDataSet

DM1.SQLQuery_Clientes.Active := True;

DM1.ClienteDataSet_Clientes.Active := True;

 

end;

 

end;

 

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.