Aşağıda SqlBulkCopy sınıfını kullanan, projelerinizde kullanabileceğiniz bir metod bulunmaktadır.
Yapmanız gereken tek şey, veri tabanındaki tablo ile bire bir aynı olan sunucu taraflı bir DataTable oluşturmak ve aşağıdaki metoda parametre olarak göndermek...
/// <summary>
/// Burada elimizdeki DataTable tipindeki dtHavingData'nın kolonlarının veritabanındaki aynı
/// aydlı tablonun bütün kolonlarını içermeli. Eğer autoIncrement PK kolonu varsa,
/// Bu kolonun değerini 0 olarak set edip bu yordama gönderin.
/// </summary>
/// <param name="DatabaseTableName"></param>
/// <param name="dtHavingData"></param>
/// <returns></returns>
public Boolean BulkInsertWithParams(string DatabaseTableName, DataTable dtHavingData)
{
try
{
conn = new SqlConnection(DbPath);
conn.Open();
using (SqlBulkCopy copy = new SqlBulkCopy(conn))
{
for (int i = 0; i < dtHavingData.Columns.Count; i++)
{
copy.ColumnMappings.Add(i, i);
}
copy.DestinationTableName = DatabaseTableName;
copy.WriteToServer(dtHavingData);
}
conn.Close();
return true;
}
catch
{
conn.Close();
return false;
}
finally
{
conn.Close();
}
}