【发布时间】:2018-12-31 00:05:18
【问题描述】:
想要将对象列表插入到 sql server 表中。 我只是想知道是否有一种方法可以一次将所有对象插入记录列表中?
public int stockInsert()
{
int result = 0;
string queryStr = "insert into Stock(stockID,color_Available,size_Available,qty_Available,detail_Img,productId)"
+ "values(@stockID,@color_Available,@size_Available,@qty_Available,@detail_Img,@productId)";
con.Open();
SqlCommand cmd = new SqlCommand(queryStr, con);
cmd.Parameters.AddWithValue("@stockID", this.StockID);
cmd.Parameters.AddWithValue("@color_Available", this.ColorAvailable);
cmd.Parameters.AddWithValue("@size_Available", this.SizeAvailable);
cmd.Parameters.AddWithValue("@qty_Available", this.QtyAvailable);
cmd.Parameters.AddWithValue("@detail_Img", this.DetailImg);
cmd.Parameters.AddWithValue("@productId", this.ProductID);
result += cmd.ExecuteNonQuery();
con.Close();
return result;
}
【问题讨论】:
-
记录列表在哪里?
-
List 是股票的集合吗(在示例代码中由“this”引用)?
-
列表在 aspx.cs 中
-
什么是
this?它是包含在List<T>中的具有这些属性的对象吗?还有什么? -
完美。看看建议的副本。建议将
List<T>转换为DataTable并调用SqlBulkCopy.WriteToServer将DataTable推送到sql server 表中。这有点绕,但比单行插入要好。您的 DBA 会感谢您的。
标签: c# .net sql-server ado.net