Insert utilizando TSQLQuery
03/02/2006
0
SQLQuery.SQL.Add(´INSERT INTO PRONTUARIO VALUES(´); SQLQuery.SQL.Add(´:CODIGOSAME,´); SQLQuery.SQL.Add(´:NOME,´); SQLQuery.SQL.Add(´:DATANASCIMENTO,´); SQLQuery.SQL.Add(´:SEXO,´); SQLQuery.SQL.Add(´:ESTADOCIVIL,´); SQLQuery.SQL.Add(´:PARENTESCO,´); SQLQuery.SQL.Add(´:CPF,´); SQLQuery.SQL.Add(´:TIPOPRONTUARIO,´); SQLQuery.SQL.Add(´:MOTIVO,´); SQLQuery.SQL.Add(´:DATASAME,´); SQLQuery.SQL.Add(´:DATAULTIMAALTERACAO)´); if _CODIGOSAME = ´´ then SQLQuery.ParamByName(´CODIGOSAME´).Value := null else SQLQuery.ParamByName(´CODIGOSAME´).Value := _CODIGOSAME; if _NOME = ´´ then SQLQuery.ParamByName(´NOME´).Value := null else SQLQuery.ParamByName(´NOME´).Value := _NOME; if _DATANASCIMENTO = 0 then SQLQuery.ParamByName(´DATANASCIMENTO´).Value := null else SQLQuery.ParamByName(´DATANASCIMENTO´).Value := _DATANASCIMENTO; if _SEXO = ´´ then SQLQuery.ParamByName(´SEXO´).Value := null else SQLQuery.ParamByName(´SEXO´).Value := _SEXO; if _ESTADOCIVIL = 0 then SQLQuery.ParamByName(´ESTADOCIVIL´).Value := null else SQLQuery.ParamByName(´ESTADOCIVIL´).Value := _ESTADOCIVIL; if _PARENTESCO = 0 then SQLQuery.ParamByName(´PARENTESCO´).Value := null else SQLQuery.ParamByName(´PARENTESCO´).Value := _PARENTESCO; if _CPF = ´´ then SQLQuery.ParamByName(´CPF´).Value := null else SQLQuery.ParamByName(´CPF´).Value := _CPF; if _TIPOPRONTUARIO = ´´ then SQLQuery.ParamByName(´TIPOPRONTUARIO´).Value := null else SQLQuery.ParamByName(´TIPOPRONTUARIO´).Value := _TIPOPRONTUARIO; if _MOTIVO = 0 then SQLQuery.ParamByName(´MOTIVO´).Value := null else SQLQuery.ParamByName(´MOTIVO´).Value := _MOTIVO; if _DATASAME = 0 then SQLQuery.ParamByName(´DATASAME´).Value := null else SQLQuery.ParamByName(´DATASAME´).Value := _DATASAME; if _DATAULTIMAALTERACAO = 0 then SQLQuery.ParamByName(´DATAULTIMAALTERACAO´).Value := null else SQLQuery.ParamByName(´DATAULTIMAALTERACAO´).Value := _DATAULTIMAALTERACAO; try SQLQuery.ExecSQL; Result := True; except Result := False; end;
Acontece que está dando erro quando vai executar a instrução SQLQuery.ExecSQL, o erro diz ´unassigned code´. Alguém pode me dizer o que pode ser? A SQLQuery é da palheta dbExpress.
Ricobv
Posts
04/02/2006
Cesarpir
SQLQuery.ParamByName(´NOME´).Value
por
SQLQuery.ParamByName(´NOME´).asString
SQLQuery.ParamByName(´DATANASCIMENTO´).asDate
ou seja troque cada um pelo seu tipo, não use .Value;
Espero que ajude
Uso Delphi 7, DBExpress e Firebird 1.5
César
30/01/2009
Woinch
O seguinte erro aparece para mim: ´ORA-01843: not a valid month´.
Não queria utilizar TO_DATE no insert, pois essa mesma aplicação deve funcionar tanto em Oracle como em Firebird e SQLServer. Se com a query ´select *´ e os comandos insert e post do DataSet funciona corretamente, porque com ´insert into´ na query e ExecSQL está me apresentando esse erro? Tem algum comando que eu possa utilizar para ´preparar´ essa query?
Muito obrigado.
09/08/2009
Steve_narancic
Fiz desta maneira e da erro! could not convert null to ...
11/08/2009
Emerson Nascimento
com campos cujo valor é nulo, tentem [b:12b1b92828].AsVariant := null[/b:12b1b92828] ou [b:12b1b92828].Clear[/b:12b1b92828] ou ainda, manupile a instrução de modo a não listar esses campos.
Clique aqui para fazer login e interagir na Comunidade :)