2017-09-12 3 views
0

Ich habe ein Datagrid mit 8 Spalten, die ersten 6 Spalten werden aus einer SQL-Tabelle gefüllt und die letzten 2 werden vom Benutzer gefüllt und in einer anderen Tabelle gespeichert, der Benutzer wird numerisch eingeben Daten (doppelt); Wie kann ich die beiden Spalten Daten auf einmal überspringen die Zellen, die der Benutzer schwarz lässt. im Moment kann ich die Daten in der Datenbank speichern, aber es erfordert, dass alle Zellen Daten oder mindestens eine Null darin haben. Ich verwende den folgenden Code ein:Überspringen von leeren Zellen von Datagrid beim Speichern in Datenbank

using (SqlConnection conn = Conexion.Conectado()) 
    for (int i = 0; i < Dgv_registro_pagos.Rows.Count - 0; i++) 
     { 

     String GuardarBD = "Insert into Registro_pagos (Monto_pago, fk_prestamo_id, Mora, fecha_pago) Values (@Monto_pago, @fk_prestamo_id, @Mora, @fecha_pago) "; 

     SqlCommand cmd = new SqlCommand(GuardarBD, conn); 

     cmd.CommandType = CommandType.Text; 


     cmd.Parameters.AddWithValue("@fk_prestamo_id", Dgv_registro_pagos.Rows[i].Cells[2].Value); 
     cmd.Parameters.AddWithValue("@Monto_pago", Dgv_registro_pagos.Rows[i].Cells[8].Value); 
     cmd.Parameters.AddWithValue("@Mora", Dgv_registro_pagos.Rows[i].Cells[9].Value); 
     cmd.Parameters.AddWithValue("@fecha_pago", DateTime.Now); 


     cmd.ExecuteNonQuery(); 

     conn.Close(); 
     } 

Antwort

0
{ 
     using (SqlConnection conn = Conexion.Conectado()) 
      for (int i = 0; i < Dgv_registro_pagos.Rows.Count - 0; i++) 
      { 
       if (Dgv_registro_pagos.Rows[i].Cells[8].Value != null && 
        Dgv_registro_pagos.Rows[i].Cells[9].Value != null) 
       { 
        String GuardarBD = "Insert into Registro_pagos (Monto_pago, fk_prestamo_id, Mora, fecha_pago) Values (@Monto_pago, @fk_prestamo_id, @Mora, @fecha_pago) "; 

        SqlCommand cmd = new SqlCommand(GuardarBD, conn); 

        cmd.CommandType = CommandType.Text; 


        cmd.Parameters.AddWithValue("@fk_prestamo_id", Dgv_registro_pagos.Rows[i].Cells[2].Value); 
        cmd.Parameters.AddWithValue("@Monto_pago", Dgv_registro_pagos.Rows[i].Cells[8].Value); 
        cmd.Parameters.AddWithValue("@Mora", Dgv_registro_pagos.Rows[i].Cells[9].Value); 
        cmd.Parameters.AddWithValue("@fecha_pago", DateTime.Now); 


        cmd.ExecuteNonQuery(); 

        conn.Close(); 
       } 
      } 
    } 
+0

ich die folgende Fehlermeldung erhalten: „System.NullReferenceException:‚ Der Objektverweis wurde nicht auf eine Instanz eines Objekts festgelegt‘“ – engel

+0

ich nicht, ob leere Zellen erinnern konnte, sind Leerzeichen oder null - versuchen Sie die aktualisierte Version über – wdomains

+0

gleichen Ergebnis mit null – engel

Verwandte Themen