Gravando em branco no Banco de dados
31/03/2016
0
Estou usando SQLServer e os componentes ADO.
Usando uma ADOQuery para inserir dados.
O problema:
- quando uso um DBEdit não dá erro nenhum, porem quando consulta o banco está em branco.
- usando a mesma instrução mas com um Edit não dá erro na gravação e aparece tudo quando se consulta o banco.
o que pode estar acontecendo
Exemplo do codigo:
with qrPadrao do begin close; sql.clear; sql.add('insert into CLIENTE (nome)'); sql.add('values (:nome)'); parameters.parambyname('nome').value := dbedit1.text; execSQL; end;
Renato Sanches
Post mais votado
31/03/2016
begin
close;
sql.clear;
SQL.Add('insert into CLIENTE values(:NOME)');
Parameters.ParamByName('NOME').Value :=Edit1.Text;
TRY
execSQL;
ShowMessage('Insert realizado com sucesso');
EXCEPT
ShowMessage('Falha no Insert');
END;
end;
Raimundo Pereira
Mais Posts
01/04/2016
Raylan Zibel
Parameters.ParamByName('NOME').AsString := dbedit1.Field.AsString;
01/04/2016
Raylan Zibel
begin
close;
sql.clear;
SQL.Add('insert into CLIENTE values(:NOME)');
Parameters.ParamByName('NOME').Value :=Edit1.Text;
TRY
execSQL;
ShowMessage('Insert realizado com sucesso');
EXCEPT
ShowMessage('Falha no Insert');
END;
end;
Ou
TRY execSQL; ShowMessage('Insert realizado com sucesso'); EXCEPT on e: Exception do begin ShowMessage('Falha no Insert: ' + e.message); end; END;
01/04/2016
Renato Sanches
01/04/2016
Raylan Zibel
with qrPadrao do begin close; sql.clear; sql.add('insert into CLIENTE (nome) '); sql.add(' values ('+ QuotedStr(dbedit1.text) +')');; execSQL; end;
Se tem valor no "dbedit1.text", tem que funcionar. Senão é alguma coisa no seu banco. Faltando PK ou alguma trigger.
02/04/2016
Renato Sanches
02/04/2016
Raimundo Pereira
Geralmente, não uso o Dbedit, pois o mesmo deve está conectado ao banco de dados.
Nas rotinas de insert, edit e consulta eu uso um Tedit
Agora se você usar o dbedit, você localizar um determinado registro na tabela para que seja mostrado o valor correto.
Ou seja depois do insert você realiza o lacate.
DM.qrPadrao.locate('CAMPO_A_LOCALIZAR',EDIT1.TEXT,[]);// Vai buscar o registro e focar no mesmo
espero que ajude
02/04/2016
Renato Sanches
Clique aqui para fazer login e interagir na Comunidade :)