Fórum Substring From For #377266
10/05/2010
0
Estou usando o Delphi 7 + trio(SqlQuery, DataSetProvider, ClientDataSet) e quando dou um Applyupdate(0) na tabela retorna o um erro dizendo que o FOR da sql não é reconhecido. A sql que estou utilizando é a seguinte:
SELECT
n.CD_NOTA,
n.NR_NOTA,
n.IT_ANO,
n.NR_NOTA||'/' ||SUBSTRING(CAST(p.IT_ANO AS VARCHAR(4)) FROM 3 FOR 2) ID_NOTA,
n.DT_EMISSAO,
n.DT_CONFIRMA,
n.DT_PREVISAO,
n.CD_CLIENTE
FROM
MV_NOTA n
WHERE
AND (n.CD_NOTA =:CD_NOTA)
Obs: o DataSetProvider esta no UpdateMode como WhereKeyOnly, e evidentemente somente o campo
CD_NOTA esta habilitado como pfInKey = True, o campo ID_NOTA (onde parece estar o problema) esta com os ProvidersFlags False para todas as opções, esta assim tanto no SQLQuery como no ClientDataSet.
Adriano Barbosa
Curtir tópico
+ 0Posts
10/05/2010
Emerson Nascimento
se for, deixe no seu ProviderFlags somente a opção pfHidden como True, assim o campo será ignorado na alterações.
Gostei + 0
11/05/2010
Adriano Barbosa
e
Detalhe: mudei apenas o ProviderFlags para pfHidden no ClientDataSet visto que se mudar no SqlQuery não consigo ver o campo no ClientDataSet.
Gostei + 0
11/05/2010
Wilson Junior
Espero ter colaborado.
Gostei + 0
11/05/2010
Adriano Barbosa
function TFr_MeuForm.GetNrNota: String;begin Result := IntToStr(cds_notaNR_NOTA.AsInteger) + '/' + Copy(IntToStr(cds_notaIT_ANO_.AsInteger),3,2);end;
procedure TFr_MeuForm.cds_notaNR_NOTAGetText(Sender: TField; var Text: String; DisplayText: Boolean);begin inherited; Text := GetNrNota;end;
Valeu... T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)