Hola , bueno un caso similar esoty haciendo en este momento y lo que hice fué lo siguiente:
1. Cree la clase AdminSaldoTR que tiene como propiedades , los campos que quiero almacenar en la base de datos.
2. cree el método insertaAdminSaldo donde la paso la conexion a la base de datos ( en mi caso es oracle) y la lista de campos que quiero insertar.
3. Defino la lista ltAdminSaldo.
4. en el evento click del salvar , isntancio la lista ltAdminSaldo y hago un foreach para recorrer el dataGridView y adicionar los datos a la lista ltAdminSaldo.
5. Finalmente instancio el método que inserta a la base de datos.
6. En el método debes volver hacer un foreach para leer los campos que metiste a la lista y así armar la cadena de campos . Ese ese punto voy por eso no te paso el código de este punto. Ahora que lo termine lo copio.
ahh se me olvidaba mencionar que estoy trabajando en c# sobre WindForm.
Espero te sirva.
public partial class frmAdmonSaldos : Form
{
string tbcampoConsulta;
private OracleConnection conexionOracle;
List<AdminSaldoTR> ltAdminSaldo;
AdminSaldoTR adminSaldo;
private void bSalvar1_Click_1(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView2.Rows)
{
ltAdminSaldo
= new List
<AdminSaldoTR
>(); adminSaldo
= new AdminSaldoTR
(); if (!string.IsNullOrEmpty(row.Cells["colFacturaS"].FormattedValue.ToString()))
{
adminSaldo.Nolinea = Convert.ToInt32(row.Cells["colLineaNo"].Value.ToString());
adminSaldo.CodRecibo = tbRecibo.Text;
adminSaldo.Factura=row.Cells["colFacturaS"].Value.ToString();
adminSaldo.ValorAsignado = Convert.ToDecimal(row.Cells["colVlorAsignaS"].Value.ToString());
ltAdminSaldo.Add(adminSaldo);
new insertaAdminSaldo
(conexionOracle, ltAdminSaldo
); }
}
}
public class AdminSaldoTR
{
int no_linea;
string codRecibo;
string factura;
decimal valor_asigna;
public int Nolinea
{
get { return no_linea; }
set { no_linea = value; }
}
public string CodRecibo
{
get { return codRecibo; }
set { codRecibo = value; }
}
public string Factura
{
get { return factura; }
set { factura = value; }
}
public decimal ValorAsignado
{
get { return valor_asigna; }
set { valor_asigna = value; }
}
}
}