ich kopiere per SQLBulk Datensätze aus einem ExcelFile (OleDB Connection und Reader) in eine SQL-Server DB.
Hierbei soll er mir in einem Label und einer Progressbar den Status anzeigen.
Wie ich es auch anstelle, er macht es nicht, bzw. nicht richt.
Per progressBar1.Maximum = dr.FieldCount
geht er 3 Schritte und das zeigt er auch richtig im Label an.
Hier mal ein Teil des Source, ich hoffe ich könnt mir helfen!
string sClearSQL = "DELETE FROM " + sSQLTable; SqlConnection SqlConn = new SqlConnection(sSqlConnectionString); SqlCommand SqlCmd = new SqlCommand(sClearSQL, SqlConn); SqlConn.Open(); try { SqlCmd.ExecuteNonQuery(); } catch (SqlException ex) { MessageBox.Show(ex.Message); } SqlConn.Close(); //Series of commands to bulk copy data from the excel file into our SQL table OleDbConnection OleDbConn = new OleDbConnection(sExcelConnectionString); OleDbCommand OleDbCmd = new OleDbCommand(myExcelDataQuery, OleDbConn); OleDbConn.Open(); OleDbDataReader dr = OleDbCmd.ExecuteReader(); SqlBulkCopy bulkCopy = new SqlBulkCopy(sSqlConnectionString); bulkCopy.DestinationTableName = sSQLTable; while (dr.Read()) { int i = 0; for (i = 0; i < dr.VisibleFieldCount; i++) { progressBar1.Value = i++; progressBar1.PerformStep(); int lbltxt = 0 + i; label1.Text = lbltxt.ToString(); } bulkCopy.WriteToServer(dr); } OleDbConn.Close(); } catch (OleDbException ex) { MessageBox.Show(ex.Message); } } } }