Tengo un lado del cliente gridview de datos y quiero insertar gridview de datos a base de datos sql .
al principio me importación de datos desde excel a gridview y ahora quiero insertar en base de datos sql .

Yo uso bucle foreach para insertar registros uno por uno . pero bucle foreach sólo seleccionar el primer disco y yo no puede aumentar el índice de fila . ¿cómo puedo hacer esto? y una selección de otros registros ?

protected void btnInsertIntoDatabase_Click(object sender, EventArgs e)
{
A:
string Name = string.Empty;
string CarType = string.Empty;
string TechnicalNo = string.Empty;
string ProductionDate = string.Empty;
string EngaineType = string.Empty;
string NoInStock = string.Empty;
string NoForCar = string.Empty;
string Price = string.Empty;
string Image = string.Empty;
string Desc = string.Empty;
string PartType = string.Empty;
string Level = string.Empty;
string Unit = string.Empty;
string Ratio = string.Empty;
string Dirham = string.Empty;
string ExtraMoney = string.Empty;
int GVCount = GridView1.Rows.Count;
foreach (GridViewRow GVRow in GridView1.Rows)
{
Name = GVRow.Cells[1].Text;
CarType = GVRow.Cells[2].Text;
TechnicalNo = GVRow.Cells[3].Text;
ProductionDate = GVRow.Cells[4].Text;
EngaineType = GVRow.Cells[5].Text;
NoInStock = GVRow.Cells[6].Text;
NoForCar = GVRow.Cells[7].Text;
Price = GVRow.Cells[8].Text;
Image = GVRow.Cells[9].Text;
Desc = GVRow.Cells[10].Text;
PartType = GVRow.Cells[11].Text;
Level = GVRow.Cells[12].Text;
Unit = GVRow.Cells[13].Text;
Ratio = GVRow.Cells[14].Text;
Dirham = GVRow.Cells[15].Text;
ExtraMoney = GVRow.Cells[16].Text;
break;
}
SqlConnection scn = new SqlConnection(clspublic.GetConnectionString());
SqlCommand scm = new SqlCommand();
scm.Connection = scn;
scm.CommandText = @"INSERT INTO tblProduct
(fName, fxCarType, fProductionDate, fEngineType, fNoinStock, fNoforCar, fPrice,fRatio,fDirham,fExtraMoney, fImage, fDesc, fxPartType, fxLevel,fUnitType,fTechnicalNo)
VALUES     (@fName,@fxCarType,@fProductionDate,@fEngineType,@fNoinStock,@fNoforCar,@fPrice,@fRatio,@fDirham,@fExtraMoney,@fImage,@fDesc,@fxPartType,@fxLevel,@fUnitType,@fTechnicalNo)";
scm.Parameters.AddWithValue("@fName", Name.ToString());
scm.Parameters.AddWithValue("@fxCarType", CarType.ToString());
scm.Parameters.AddWithValue("@fTechnicalNo", TechnicalNo.ToString());
scm.Parameters.AddWithValue("@fProductionDate", ProductionDate.ToString());
scm.Parameters.AddWithValue("@fEngineType", EngaineType.ToString());
scm.Parameters.AddWithValue("@fNoinStock", NoInStock.ToString());
scm.Parameters.AddWithValue("@fNoforCar", NoForCar.ToString());
scm.Parameters.AddWithValue("@fPrice", Price.ToString());
scm.Parameters.AddWithValue("@fRatio", Ratio.ToString());
scm.Parameters.AddWithValue("@fDirham", Dirham.ToString());
scm.Parameters.AddWithValue("@fExtraMoney", ExtraMoney.ToString());
scm.Parameters.AddWithValue("@fImage", Image.ToString());
scm.Parameters.AddWithValue("@fDesc", Desc.ToString());
scm.Parameters.AddWithValue("@fxPartType", PartType.ToString());
scm.Parameters.AddWithValue("@fUnitType", Unit.ToString());
scm.Parameters.AddWithValue("@fxLevel", Level.ToString());
goto A;
} 
  • becaues de la ruptura que el código no funciona compruebe que el código que me han pegado para usted….si utiliza descanso como este te va a obtener el primer registro cada vez que
InformationsquelleAutor Persian. | 2011-05-31

5 Comentarios

  1. 1

    Es, tomando el primer registro sólo porque hay break escrito en usted bucle foreach…

    siguiente código es para usted

        foreach (GridViewRow GVRow in GridView1.Rows)
    {
    Name = GVRow.Cells[1].Text;
    CarType = GVRow.Cells[2].Text;
    TechnicalNo = GVRow.Cells[3].Text;
    ProductionDate = GVRow.Cells[4].Text;
    EngaineType = GVRow.Cells[5].Text;
    NoInStock = GVRow.Cells[6].Text;
    NoForCar = GVRow.Cells[7].Text;
    Price = GVRow.Cells[8].Text;
    Image = GVRow.Cells[9].Text;
    Desc = GVRow.Cells[10].Text;
    PartType = GVRow.Cells[11].Text;
    Level = GVRow.Cells[12].Text;
    Unit = GVRow.Cells[13].Text;
    Ratio = GVRow.Cells[14].Text;
    Dirham = GVRow.Cells[15].Text;
    ExtraMoney = GVRow.Cells[16].Text;
    SqlConnection scn = new SqlConnection(clspublic.GetConnectionString());
    using(con)
    {  
    SqlCommand scm = new SqlCommand();
    scm.Connection = scn;
    scm.CommandText = @"INSERT INTO tblProduct
    (fName, fxCarType, fProductionDate, fEngineType, fNoinStock, fNoforCar, fPrice,fRatio,fDirham,fExtraMoney, fImage, fDesc, fxPartType, fxLevel,fUnitType,fTechnicalNo)
    VALUES     (@fName,@fxCarType,@fProductionDate,@fEngineType,@fNoinStock,@fNoforCar,@fPrice,@fRatio,@fDirham,@fExtraMoney,@fImage,@fDesc,@fxPartType,@fxLevel,@fUnitType,@fTechnicalNo)";
    scm.Parameters.AddWithValue("@fName", Name.ToString());
    scm.Parameters.AddWithValue("@fxCarType", CarType.ToString());
    scm.Parameters.AddWithValue("@fTechnicalNo", TechnicalNo.ToString());
    scm.Parameters.AddWithValue("@fProductionDate", ProductionDate.ToString());
    scm.Parameters.AddWithValue("@fEngineType", EngaineType.ToString());
    scm.Parameters.AddWithValue("@fNoinStock", NoInStock.ToString());
    scm.Parameters.AddWithValue("@fNoforCar", NoForCar.ToString());
    scm.Parameters.AddWithValue("@fPrice", Price.ToString());
    scm.Parameters.AddWithValue("@fRatio", Ratio.ToString());
    scm.Parameters.AddWithValue("@fDirham", Dirham.ToString());
    scm.Parameters.AddWithValue("@fExtraMoney", ExtraMoney.ToString());
    scm.Parameters.AddWithValue("@fImage", Image.ToString());
    scm.Parameters.AddWithValue("@fDesc", Desc.ToString());
    scm.Parameters.AddWithValue("@fxPartType", PartType.ToString());
    scm.Parameters.AddWithValue("@fUnitType", Unit.ToString());
    scm.Parameters.AddWithValue("@fxLevel", Level.ToString());
    scm.ExecuteNonQuery();
    }

    }

    • Sí, yo descanso porque tengo más de 50 registro y, a continuación, mis variables de cambio .. quiero registrar primer registro y, a continuación, el segundo disco y ….
    • ¿Usted ve, él solía Ir A la Instrucción ?
    • sí………………sé ………
  2. 0

    Wow, un Goto….

    Bien, de romper el foreach después del primer registro. Y después de que usted comience su foreach de nuevo desde la primera….

  3. 0
     using (SqlConnection scn = new SqlConnection(clspublic.GetConnectionString()))
    {
    foreach (GridViewRow GVRow in GridView1.Rows)
    {
    Name = GVRow.Cells[1].Text;
    CarType = GVRow.Cells[2].Text;
    TechnicalNo = GVRow.Cells[3].Text;
    ProductionDate = GVRow.Cells[4].Text;
    EngaineType = GVRow.Cells[5].Text;
    NoInStock = GVRow.Cells[6].Text;
    NoForCar = GVRow.Cells[7].Text;
    Price = GVRow.Cells[8].Text;
    Image = GVRow.Cells[9].Text;
    Desc = GVRow.Cells[10].Text;
    PartType = GVRow.Cells[11].Text;
    Level = GVRow.Cells[12].Text;
    Unit = GVRow.Cells[13].Text;
    Ratio = GVRow.Cells[14].Text;
    Dirham = GVRow.Cells[15].Text;
    ExtraMoney = GVRow.Cells[16].Text;
    using (SqlCommand scm = scn.CreateCommand())
    {
    scm.CommandText = @"INSERT INTO tblProduct
    (fName, fxCarType, fProductionDate, fEngineType, fNoinStock, fNoforCar, fPrice,fRatio,fDirham,fExtraMoney, fImage, fDesc, fxPartType, fxLevel,fUnitType,fTechnicalNo)
    VALUES     (@fName,@fxCarType,@fProductionDate,@fEngineType,@fNoinStock,@fNoforCar,@fPrice,@fRatio,@fDirham,@fExtraMoney,@fImage,@fDesc,@fxPartType,@fxLevel,@fUnitType,@fTechnicalNo)";
    scm.Parameters.AddWithValue("@fName", Name.ToString());
    scm.Parameters.AddWithValue("@fxCarType", CarType.ToString());
    scm.Parameters.AddWithValue("@fTechnicalNo", TechnicalNo.ToString());
    scm.Parameters.AddWithValue("@fProductionDate", ProductionDate.ToString());
    scm.Parameters.AddWithValue("@fEngineType", EngaineType.ToString());
    scm.Parameters.AddWithValue("@fNoinStock", NoInStock.ToString());
    scm.Parameters.AddWithValue("@fNoforCar", NoForCar.ToString());
    scm.Parameters.AddWithValue("@fPrice", Price.ToString());
    scm.Parameters.AddWithValue("@fRatio", Ratio.ToString());
    scm.Parameters.AddWithValue("@fDirham", Dirham.ToString());
    scm.Parameters.AddWithValue("@fExtraMoney", ExtraMoney.ToString());
    scm.Parameters.AddWithValue("@fImage", Image.ToString());
    scm.Parameters.AddWithValue("@fDesc", Desc.ToString());
    scm.Parameters.AddWithValue("@fxPartType", PartType.ToString());
    scm.Parameters.AddWithValue("@fUnitType", Unit.ToString());
    scm.Parameters.AddWithValue("@fxLevel", Level.ToString());
    scm.ExecuteNonQuery();
    }
    }
    }
  4. 0

    Tratar como este ,

    Si todos los controles son de la etiqueta

    foreach (GridViewRow GVRow in GridView1.Rows)
    {
    Label lbl = (Label)GVRow.FindControl("labelID");
    string data=lbl.Text;
    }
  5. 0
    using (SqlConnection scn = new SqlConnection(clspublic.GetConnectionString()))
    {
    foreach (GridViewRow GVRow in GridView1.Rows)
    {
    Name = GVRow.Cells[1].Text;
    CarType = GVRow.Cells[2].Text;
    TechnicalNo = GVRow.Cells[3].Text;
    ProductionDate = GVRow.Cells[4].Text;
    EngaineType = GVRow.Cells[5].Text;
    NoInStock = GVRow.Cells[6].Text;
    NoForCar = GVRow.Cells[7].Text;
    Price = GVRow.Cells[8].Text;
    Image = GVRow.Cells[9].Text;
    Desc = GVRow.Cells[10].Text;
    PartType = GVRow.Cells[11].Text;
    Level = GVRow.Cells[12].Text;
    Unit = GVRow.Cells[13].Text;
    Ratio = GVRow.Cells[14].Text;
    Dirham = GVRow.Cells[15].Text;
    ExtraMoney = GVRow.Cells[16].Text;
    using (SqlCommand scm = scn.CreateCommand())
    {
    scm.CommandText = @"INSERT INTO tblProduct
    (fName, fxCarType, fProductionDate, fEngineType, fNoinStock, fNoforCar, fPrice,fRatio,fDirham,fExtraMoney, fImage, fDesc, fxPartType, fxLevel,fUnitType,fTechnicalNo)
    VALUES     (@fName,@fxCarType,@fProductionDate,@fEngineType,@fNoinStock,@fNoforCar,@fPrice,@fRatio,@fDirham,@fExtraMoney,@fImage,@fDesc,@fxPartType,@fxLevel,@fUnitType,@fTechnicalNo)";
    scm.Parameters.AddWithValue("@fName", Name.ToString());
    scm.Parameters.AddWithValue("@fxCarType", CarType.ToString());
    scm.Parameters.AddWithValue("@fTechnicalNo", TechnicalNo.ToString());
    scm.Parameters.AddWithValue("@fProductionDate", ProductionDate.ToString());
    scm.Parameters.AddWithValue("@fEngineType", EngaineType.ToString());
    scm.Parameters.AddWithValue("@fNoinStock", NoInStock.ToString());
    scm.Parameters.AddWithValue("@fNoforCar", NoForCar.ToString());
    scm.Parameters.AddWithValue("@fPrice", Price.ToString());
    scm.Parameters.AddWithValue("@fRatio", Ratio.ToString());
    scm.Parameters.AddWithValue("@fDirham", Dirham.ToString());
    scm.Parameters.AddWithValue("@fExtraMoney", ExtraMoney.ToString());
    scm.Parameters.AddWithValue("@fImage", Image.ToString());
    scm.Parameters.AddWithValue("@fDesc", Desc.ToString());
    scm.Parameters.AddWithValue("@fxPartType", PartType.ToString());
    scm.Parameters.AddWithValue("@fUnitType", Unit.ToString());
    scm.Parameters.AddWithValue("@fxLevel", Level.ToString());
    scm.ExecuteNonQuery();
    }
    }
    }
    • La pregunta ha sido respondida más que hace un año. ¿Por qué publicar casi el mismo código de nuevo, sin ninguna otra explicación?

Dejar respuesta

Please enter your comment!
Please enter your name here