Guest User

Untitled

a guest
Apr 25th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. txtProduto
  2. txtQuantidade
  3. cmbTipo
  4. txtValorFornecedor
  5. txtValorFinal
  6. txtLucro
  7.  
  8. private void txtValorFinal_TextChanged(object sender, EventArgs e)
  9. {
  10. double lucro; // Criação da variável que ira comportar o valor do lucro
  11. lucro = Convert.ToDouble(txtValorFinal.Text) - Convert.ToDouble(txtValorFornecedor.Text); // Cálculo do lucro e comportando o valor na variável lucro
  12. txtLucro.Text = lucro.ToString("0.00"); // Populando o TextBox txtLucro com o valor da variável lucro
  13. }
  14.  
  15. string strConn = "Data Source=DESKTOP-AJLR3DB\SQLEXPRESS;Initial Catalog=DBGestor;Integrated Security=True";
  16. Ado insert = new Ado(strConn);
  17. insert.InsertProduto(txtNomeProduto.Text,
  18. Convert.ToInt32(txtQuantidade.Text),
  19. cmbTipo.Text,
  20. Convert.ToDouble(txtValorFornecedor.Text),
  21. Convert.ToDouble(txtValorFinal.Text),
  22. Convert.ToDouble(txtLucro.Text));
  23. MessageBox.Show("Produto cadastrado com sucesso!", "Sucesso!", MessageBoxButtons.OK);
  24. this.Close();
  25. this.Dispose();
  26.  
  27. string ConectionString;
  28.  
  29. public void InsertProduto(string nomeProduto, int quantidade, string tipo, double valorFornecedor, double valorFinal, double lucro)
  30. {
  31. SqlConnection conn = new SqlConnection(ConectionString);
  32. string cmdString = "INSERT INTO produtos VALUES ('" + nomeProduto.ToString() +
  33. "', '" + quantidade +
  34. "', '" + tipo.ToString() +
  35. "', '" + valorFornecedor +
  36. "', '" + valorFinal +
  37. "', '" + lucro + "')";
  38.  
  39. try
  40. {
  41. conn.Open();
  42. SqlCommand cmd = new SqlCommand(cmdString, conn);
  43. cmd.ExecuteNonQuery();
  44. }
  45. catch (Exception ex)
  46. {
  47. throw ex; // Essa linha é setada com o erro descrito no fim da pergunta
  48. }
  49. finally
  50. {
  51. conn.Close();
  52. conn.Dispose();
  53. }
  54. }
  55.  
  56. private void txtValorFinal_TextChanged(object sender, EventArgs e) {
  57. if (decimal.TryParse(txtValorFinal.Text, out var valorFinal) && decimal.TryParse(txtValorFornecedor.Text, out var valorFornecedor)) {
  58. txtLucro.Text = (valorFinal - valorFornecedor).ToString("0.00");
  59. } else {
  60. //tratar o erro aqui
  61. }
  62. }
  63.  
  64. //essa classe Ado parece desnecessária ou mal formulada
  65. var insert = new Ado("Data Source=DESKTOP-AJLR3DB\SQLEXPRESS;Initial Catalog=DBGestor;Integrated Security=True");
  66. insert.InsertProduto(txtNomeProduto.Text,
  67. //tem que fazer o mesmo do acima,
  68. cmbTipo.Text,
  69. //tem que fazer o mesmo do acima,
  70. //tem que fazer o mesmo do acima,
  71. //tem que fazer o mesmo do acima);
  72. MessageBox.Show("Produto cadastrado com sucesso!", "Sucesso!", MessageBoxButtons.OK);
  73. //e se der erro?
  74. this.Close(); //duvido que isto está correto aqui
  75. this.Dispose(); //quase certo que não deveria estar aqui
  76.  
  77. //o mais certo é receber um objeto com estas propriedades e não esse monte de parâmetro
  78. public void InsertProduto(string nomeProduto, int quantidade, string tipo, decimal valorFornecedor, decimal valorFinal, decimal lucro) {
  79. using (var conn = new SqlConnection(ConectionString)) {
  80. conn.Open();
  81. //não sei o nome das colunas no banco de dados chuetei o que deveria ser
  82. var cmString = "INSERT INTO produtos (Nome, Quantidade, Tipo, ValorFornecedor, ValorFinal, Lucro) VALUES (@Nome, @Quantidade, @Tipo, @ValorFornecedor, @ValorFinal, @Lucro";
  83. var cmd = new SqlCommand(cmdString, conn);
  84. cmd.Parameters.AddWithValue("@Nome", nomeProduto);
  85. cmd.Parameters.AddWithValue("@Quantidade", quantidade);
  86. cmd.Parameters.AddWithValue("@Tipo", tipo);
  87. cmd.Parameters.AddWithValue("@ValorFornecedor", valorFornecedor);
  88. cmd.Parameters.AddWithValue("@ValorFinal", valorFinal);
  89. cmd.Parameters.AddWithValue("@Lucro", lucro);
  90. cmd.ExecuteNonQuery();
  91. }
  92. }
Add Comment
Please, Sign In to add comment