Impossible de lire la première ligne d'Excel à l'aide de SqlBulkCopy

.net asp.net c# sqlbulkcopy

Question

J'utilise le code suivant pour mettre à jour un fichier Excel dans SQL Server. Le code fonctionne mais il ne peut pas insérer la première ligne dans la table.

OleDbConnection OleDb = new OleDbConnection(ConnectionString);
OleDbCommand OleDbCmm = new OleDbCommand(Query,OleDb);
OleDbDataReader OleDbdr;
OleDb.Open();

if (OleDb.State == ConnectionState.Open)
{
    OleDbdr = OleDbCmm.ExecuteReader();
    SqlBulkCopy BulkCopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["connstring"].ToString());
    BulkCopy.DestinationTableName = "TempTable";

    if (OleDbdr.Read())
    {
       BulkCopy.WriteToServer(OleDbdr);
    }
 }

 OleDb.Close();

Réponse populaire

Même si je rencontrais le même problème, c’est que j’utilisais la méthode Read () comme ci-dessous.

           while (dr.Read())
            {
                bulkcopy.WriteToServer(dr);
            }

La solution au problème ci-dessus est la méthode remove dr.Read () et une boucle while utilise bulkcopy.WriteToServer (dr) sans condition et la méthode Read ()



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi