Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. var stSQLText :String;
  2. begin
  3. //Não há departamentos, nada a fazer!
  4. if cbDepNum.Items.Count = 0 then
  5. Exit;
  6.  
  7. with TSQLQuery.Create(Nil) do
  8. Try
  9. Try
  10. DataBase := Mainform.aSQLConnection;
  11. Transaction := Mainform.aSQLConnection.Transaction;
  12.  
  13. //Prepara o SQL a submeter à BD
  14. stSQLText := 'Insert into Empregado(EmpNum, Nome, Categoria, Salario, DepNum) ';
  15. stSQLText := stSQLText + ' values (:EmpNum, :Nome, :Categoria, :Salario, :DepNum)';
  16.  
  17. //Set do comando SQL para inserir um empregado
  18. Sql.Text:= stSQLText;
  19.  
  20. SQLTransaction.StartTransaction;
  21. Prepare;
  22. ParamByName('EmpNum').AsString:= edEmpNum.Text;
  23. ParamByName('Nome').AsString:= edEmpNome.Text;
  24. ParamByName('Categoria').AsString:= edEmpCat.Text;
  25. ParamByName('Salario').AsString:= edEmpSal.Text;
  26. ParamByName('DepNum').AsString:= cbDepNum.Items[cbDepNum.ItemIndex];
  27.  
  28. //Insere na base de dados
  29. ExecSQL;
  30.  
  31. SQLTransaction.Commit;
  32.  
  33. //Fecha o diálogo!
  34. ModalResult := mrOk;
  35.  
  36. Except
  37. On E :Exception do
  38. begin
  39. //Faz o Roolback da transação (e volta ao modo Auto-Commit)
  40. SQLTransaction.Rollback;
  41. ShowMessage(E.Message);
  42. end;
  43. end;
  44.  
  45. finally
  46. Free;
  47. end;
  48. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement