PDA

View Full Version : سوال: انتقال اطلاعات از data table به database



8502803
یک شنبه 23 مرداد 1390, 23:04 عصر
سلام .چطور ميشه اطلاعات يك data table رو به يك جدول از database انتقال داد؟؟ممنون
ميدونم سوالم خيلي پيش پا افتادست،ولي خواهشا هركي ميدونه راهنمائي كنه؟
واقعا كارم گيره:متفکر::گریه:

faravaghi
دوشنبه 24 مرداد 1390, 03:46 صبح
سلام،
یه حلقه Foreach تعریف کن توش بگو هر رکورد رو یکی یکی تو بانک بریزه. مثل این:
foreach (DataRow row in Dt.Rows)
{
Insert(row[0].ToString(),row[1].ToString());

}

8502803
دوشنبه 24 مرداد 1390, 11:10 صبح
سلام،
یه حلقه Foreach تعریف کن توش بگو هر رکورد رو یکی یکی تو بانک بریزه. مثل این:
foreach (DataRow row in Dt.Rows)
{
Insert(row[0].ToString(),row[1].ToString());

}
سلام، آقا دمت گرم.فقط ميشه يه توضيحي راجع بهش بدي مثلا اين(() Insert(row[0].ToString(),row[1].ToString چكار ميكنه؟ممنون

pars.engineer
دوشنبه 24 مرداد 1390, 11:53 صبح
سلام
راه حل بسيار مناسب براي اين منظور استفاده از SqlBulkCopy است.



using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
bulkCopy.DestinationTableName = "DestinationTable";
try
{
bulkCopy.WriteToServer(SourceDataTable);
}

catch (Exception ex)
{
Console.WriteLine(ex.Message);

}
}

faravaghi
دوشنبه 24 مرداد 1390, 14:26 عصر
سلام، آقا دمت گرم.فقط ميشه يه توضيحي راجع بهش بدي مثلا اين(() Insert(row[0].ToString(),row[1].ToString چكار ميكنه؟ممنون
سلام،
اون تابع که نوشتم یک مثاله که بدونی چطور اطلاعات رو در بیاری.
row[0].ToString()
اینجوریه که
row[0]
مقدار ستون اول ردیف جاری است. حالا اومدم مقدارشو به صورت رشته در آوردم که مثلا تو تابع Insert قرار بدم.
تابع Insert مثال یک تابع است که اطلاعاتی که می خواهید تو بانک ذخیره کنید رو می گیره و عمل ورود رو انجام میده. شما حتی می تونید بجای
row[0]
از این حالت
row["column_name"]
قرار بدی که به جای column_name اسم سطری رو بنویسد که لازم دارید.