Insert SQL em tempo de execução Delphi 2007

21/06/2010

Bom Tarde Gostaria de Saber como posso montar um Insert no Delphi com SQLQuery em tempo de execução Tipo Assim que estou fazendo mais por algum motivo não esta Grava a Informação no banco você poderia me ajudar vlSQuery.SQL.Text:='INSERT INTO RERSM(COD_CONTROLE_MENSALISTA,ID_CARTAO,DATA,HRS,AREA) '+ 'Values(:'+IntToStr(FMensalista.Cod_Mensalista)+',:'+IDCartao+ ',:'+DateToStr(Date)+',:'+'TimeToStr(Time)'+',:'+FMensalista.Area+')';
Alexandro Oliveira

Alexandro Oliveira

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

21/06/2010

Olá amigo.

Veja como proceder quando for usar campos string, tem que ficar entre ''. Partindo do principio que seu SQLQuery esta configurado para o SQLConnection adequado.

  SQLQuery1.SQL.Clear;
  SQLQuery1.Close;
  SQLQuery1.SQL.Add('INSERT INTO CLIENTE(IDCLIENTE, NOME) ');
  SQLQuery1.SQL.Add('VALUES (' + IDCliente + ',' + QuotedStr(Nome) + ')' );
  SQLQuery1.ExecSQL;

Faça este teste, se der erro me informe o erro.

Me informe também seu Banco de Dados, e versão do Delphi.

Um abraço

Wesley Y
GOSTEI 0
Alexandro Oliveira

Alexandro Oliveira

21/06/2010

Bom meu amigo você me ajudou muito so faltava a sintase = QuotedStr na minha instrução, mais surgiu uma duvida, qual a finalidade da sintase (:)na Frenta do Valor a ser gravado, seria um parâmetro ? At.Alex Oliveira
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

21/06/2010

Olá amigo,

Seria isso mesmo : é um parametro. Exemplo

SELECT * FROM CLIENTE
WHERE IDCLIENTE = :IDCLIENTE

DAI VOCÊ TEM QUE INFORMAR PARA O SCRIPT O PARAMETRO ATRAVES DO

  SQLQuery1.Close;
  SQLQuery1.Params.ParamByName('IDCliente').AsInteger := StrToINt(EdtID.text);
  SQLQuery1.Open;

Acho que assim esclarece tua dúvida certo ?


Att,

Wesley Y
GOSTEI 0
Alexandro Oliveira

Alexandro Oliveira

21/06/2010

Muito Obrigado pela dica. At.Alex Oliveira
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

21/06/2010

Blz amigo.

Um abraço

Wesley Y
GOSTEI 0
POSTAR