2

Windowsフォーム(Gridview)からデータベースに新しい情報を追加しようとしています。これは私が思いついた方法です(しかしそれは機能しません):

private void agregarProducto(string id_producto, string id_proveedor, string id_categoria, string cantidad, string precio_actual, string codigo_barras)
{
    MySqlCommand cmd = new MySqlCommand();

    using (cmd = cn.CreateCommand())
    {
        cmd.CommandText = "INSERT INTO productos(id_producto, id_proveedor, id_categoria, cantidad, precio_actual, codigo_barras) VALUES (@id_producto, @id_proveedor, @id_categoria, @cantidad, @precio_actual, @codigo_barras)";
        cmd.CommandType = CommandType.Text;

        cmd.Parameters.AddWithValue("@id_producto", tbId_Prod);
        cmd.Parameters.AddWithValue("@id_categoria", tbId_categoria);
        cmd.Parameters.AddWithValue("@id_proveedor", tb_Id_proveedor);
        cmd.Parameters.AddWithValue("@cantidad", tbCantidad);
        cmd.Parameters.AddWithValue("@precio_actual", tbPrecioActual);
        cmd.Parameters.AddWithValue("@codigo_barras", tbCod_barras);

        cn.Open();
    }
}

これはおそらくそれを呼んでいるイベントです:

private void btAgregarNuevo_Click(object sender, EventArgs e)
{
    agregarProducto(tbId_Prod.Text, tb_Id_proveedor.Text, tbId_categoria.Text, tbCantidad.Text, tbPrecioActual.Text, tbCod_barras.Text);
}

私は何かが足りないのですか?

4

2 に答える 2

2

SQLを実行していません。接続を開いた後にこれを行います

cmd.ExecuteNoneQuery();
于 2012-07-28T19:56:38.787 に答える
1
private void agregarProducto(string id_producto, string id_proveedor, string id_categoria, string cantidad, string precio_actual, string codigo_barras)
{
    MySqlCommand cmd = new MySqlCommand();

    using (cmd = cn.CreateCommand())
    {
        cmd.CommandText = "INSERT INTO productos(id_producto, id_proveedor, id_categoria, cantidad, precio_actual, codigo_barras) VALUES (@id_producto, @id_proveedor, @id_categoria, @cantidad, @precio_actual, @codigo_barras)";
        cmd.CommandType = CommandType.Text;

        cmd.Parameters.AddWithValue("@id_producto", tbId_Prod);
        cmd.Parameters.AddWithValue("@id_categoria", tbId_categoria);
        cmd.Parameters.AddWithValue("@id_proveedor", tb_Id_proveedor);
        cmd.Parameters.AddWithValue("@cantidad", tbCantidad);
        cmd.Parameters.AddWithValue("@precio_actual", tbPrecioActual);
        cmd.Parameters.AddWithValue("@codigo_barras", tbCod_barras);

        cn.Open();

        cmd.ExecuteNoneQuery();//This is the line you are missing

        cn.Close();
    }
}
于 2012-07-28T20:04:49.303 に答える