Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Estou fazendo um trabalho pra facul, e estou tento esse problema ao tentar inserir os dados na tabela.
segue o codigo
procedure TFRM_pais.BTN_salvarClick(Sender: TObject);
var
sigla,desc:string;
begin
with DTM.ADOQuery1 do
begin
sigla:= EDT_sigla.Text;
desc:= EDT_desc.Text;
sql.Clear;
DTM.ADOQuery1.Close;
sql.Add('insert into pais (Sigla, Descricao) values('+ sigla+','+desc+')');
DTM.ADOQuery1.ExecSQL;
end;
Sei que ta estranho mas só "funciona" assim, mas na hora de salvar da este erro: Unknown column 'dado que informei no campo' in 'field list''.
Alguém pode me ajudar, pq a professora nao soube o que era... e tb nao tava nem ai pra me ajudar!!!
faz assim:
procedure TFRM_pais.BTN_salvarClick(Sender: TObject);
var
sigla,desc:string;
begin
with DTM.ADOQuery1 do
begin
Se você fizer um ShowMessage(adoQuery1.SQL.Text) irá observar que sua query ficará assim:
insert into pais (Sigla, Descricao) values(BR, Brasil)
Os valores não foram passados entre aspas, fazendo o banco de dados trata-los como identificadores, ou seja, o nome de um campo ou uma constante e que não existem, por isto a mensagem de erro. Passe os dados entre aspas (por isto o QuotedStr, mas é possível fazer de outras formas) para que sejam tratados como texto.