2014-12-03 95 views
-2

嗨,我正在寻找一种方法将所有我的GridView单元格或数据插入到SQL Server表中。我希望列匹配SQL Server的列和要添加的每一行。行总是在变化。这可能吗?将GridView单元格或数据插入到SQL Server中

这是我曾尝试(没有错误,只是没有做任何事情)

 foreach (GridViewRow GVRow in GridView1.Rows) 
     { 

      string PartNumber = string.Empty; 
      string Qty = string.Empty; 
      string Price = string.Empty; 
      string ExtPrice = string.Empty; 

      PartNumber = GVRow.Cells[1].Text; 
      Qty = GVRow.Cells[2].Text; 
      Price = GVRow.Cells[3].Text; 
      ExtPrice = GVRow.Cells[4].Text; 



      using (SqlConnection sqlCon5 = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString)) 
      { 
       SqlCommand scm = new SqlCommand(); 
       scm.Connection = sqlCon5; 
       scm.CommandText = @"INSERT INTO OrderDetail (OrderNumber, PartNumber, Qty, Price, ExtPrice) VALUES (@OrderNumber, @PartNumber,@Qty,@Price,@ExtPrice)"; 

       scm.Parameters.AddWithValue("@OrderNumber", TextBox1.Text); 
       scm.Parameters.AddWithValue("@PartNumber", PartNumber.ToString()); 
       scm.Parameters.AddWithValue("@Qty", Qty.ToString()); 
       scm.Parameters.AddWithValue("@Price", Price.ToString()); 
       scm.Parameters.AddWithValue("@ExtPrice", ExtPrice.ToString()); 


       sqlCon5.Open(); 
       scm.ExecuteNonQuery(); 
       sqlCon5.Close(); 
      } 



     } 
+0

是的。你有什么尝试? – gabsferreira 2014-12-03 23:33:37

+0

我刚刚添加了我的代码,我试过了,但它不起作用,它什么都不做@bigodera – 2014-12-03 23:37:03

+0

什么都不做?它是否达到了第一个“foreach”?是?它到底是什么? – 2014-12-04 00:13:12

回答

0

尝试使用for loop代替。

int rowsCount = GridView1.Rows.Count; 
int rowsInserted = 0; 

for (int i = 0; i < rowsCount; i++) 
{ 
    StrQuery = @"INSERT INTO OrderDetail (OrderNumber, PartNumber, Qty, Price, ExtPrice) VALUES (@OrderNumber, @PartNumber,@Qty,@Price,@ExtPrice)"; 
    scm.CommandText = StrQuery; 
    scm.Parameters.AddWithValue("@OrderNumber",GridView1.Rows[i]. 
         Cells["columnName"].Value); 
    scm.Parameters.AddWithValue("@PartNumber",GridView1.Rows[i]. 
         Cells["columnName"].Value); 
    scm.Parameters.AddWithValue("@Qty",GridView1.Rows[i]. 
         Cells["columnName"].Value); 
    scm.Parameters.AddWithValue("@Price",GridView1.Rows[i]. 
         Cells["columnName"].Value); 
    scm.Parameters.AddWithValue("@ExtPrice",GridView1.Rows[i]. 
         Cells["columnName"].Value); 

if (scm.ExecuteNonQuery() > 0) 
{ 
    rowsInserted++; 
} 
scm.Parameters.Clear(); 
} 

//check if all rows inserted 
if(rowsCount == rowsInserted) 
{ 
    //Display successfull message 
} 
else 
{ 
    //Display error message 
} 

注:*与GridView1实际的列名替换columnName

+0

我得到无效的参数,你输入列名 – 2014-12-04 00:27:37

+0

Nevermind my code worked lol – 2014-12-04 00:42:27

相关问题