2012-07-28 5 views
2

Windows Form (Gridview)에서 데이터베이스에 새 정보를 추가하려고했습니다.Gridview에서 데이터베이스에 정보를 추가하는 방법은 무엇입니까?

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); 
} 

내가 뭔가를 놓치고 있습니까 :

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(); 
    } 
} 

이 가정을 호출의 이벤트가 있습니다 : 이것은 내가 (하지만이 작동하지 않습니다) 해낸 방법이다?

답변

2

sql을 실행하지 않았습니다. 당신이 연결

cmd.ExecuteNoneQuery(); 
+0

좋아을 연 후이 작업을 수행합니다, 감사합니다! –

+0

좋아, 지금 삽입하지만 필드에 0이 표시됩니다. MySQL에 대한 쿼리를 만들었고 내 생각에 변환 또는 메서드가 잘 작동합니다. –

+1

@GJenyRamirez. 쿼리를 만들고 실행하는 메서드에 문자열 형식을 전달하고 있습니다. 이 메소드가 올바른 유형 (아마도 int 또는 long)을 허용하고 click 이벤트에서 적절한 변환을 수행해야합니다. 예 : 'int.Parse (tbId_Prod.Text) ' –

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(); 
    } 
} 
+0

좋아, 고마워! –

+0

좋아, 지금 삽입하지만 필드에 0이 표시됩니다. MySQL에 대한 쿼리를 만들었고 내 생각에 변환 또는 메서드가 잘 작동합니다. –

관련 문제