3
I have a certain error when making changes to some data registered in the database, picture below the error
also follows the code used:
private void btnSalvar_Click(object sender, EventArgs e)
{
conectar.Open();
//Convertendo
Converter = Convert.ToInt32(txtQuantidade.Text);
converterdata = Convert.ToDateTime(DTPEntrada.Text);
MySqlCommand Inserir = new MySqlCommand();
Inserir.Connection = conectar;
Inserir.CommandText = "UPDATE Pacote SET Nome = '" + txtNome.Text +
"', Quantidade = '" + Converter + "', peca =" + cbxPeca.Text +
", Data_entrada = " + converterdata + " WHERE ID_Pacote =" + alterar2 + " ";
Inserir.ExecuteNonQuery();
conectar.Close();
alterar2 = 0;
txtNome.Text = "";
txtQuantidade.Text = "";
//txtDescricao.Text = "";
MessageBox.Show("Pacote alterado", "Concluido",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
selecionarCategoria();
}
Also follows the Bank Code:
CREATE DATABASE ProdPacote;
USE ProdPacote;
CREATE TABLE Produto(
ID_Produto INT PRIMARY KEY AUTO_INCREMENT,
Nome VARCHAR (200) NOT NULL,
Descricao VARCHAR (200) NOT NULL,
Preco DOUBLE NOT NULL,
`status` TINYINT NOT NULL);
CREATE TABLE Pacote(
ID_Pacote INT PRIMARY KEY AUTO_INCREMENT,
Nome VARCHAR (200) NOT NULL,
peca VARCHAR (200) NOT NULL,
Quantidade INT NOT NULL,
Data_entrada DATETIME NOT NULL);
CREATE TABLE Produto_Pacote(
ID_Produto_Pacote INT PRIMARY KEY AUTO_INCREMENT,
Data_Hora DATE NOT NULL,
FK_ID_Produto INT NOT NULL,
FK_ID_Pacote INT NOT NULL,
CONSTRAINT Produto_Pacote
FOREIGN KEY (FK_ID_Produto)
REFERENCES Produto (ID_Produto),
CONSTRAINT Pacote_Produto
FOREIGN KEY(FK_ID_Pacote)
REFERENCES Pacote(ID_Pacote));
It has a lot of problem in its code Pietro, the Insert is extremely vulnerable to SQL Injection with the code this way, besides the error in the concatenation that makes not even the insertion work.
– George Wurthmann