Texte original : http://aspalliance.com/articleViewer.aspx?aId=477&pId=-1
Auteur : Andrew Mooney Traduction : Mencius Chapitre E [Télécharger le code source
// Vérifiez si la table existe, si elle existe il y aura un enregistrement dans le DataTable
si (schemaTable.Rows.Count < 1)
sqlCmd = "créer une table " + tableName + " (" ;
pour (int i = 0;i < dataTableXml.Columns.Count;i++)
{
//Ajouter un texte de colonne/type de chaîne longueur 100
sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + " char(100),";
}
sqlCmd = sqlCmd .Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();
Ajouter des données XML à la base de données
// Parcourez les lignes du DataTable
foreach (DataRow dr dans dataTableXml.Rows)
{
string sqlCmd = "insérer dans [" + tableName + "] (";
// Parcours des colonnes de Datatable
pour (int i = 0;i < dataTableXml.Columns.Count;i++)
{
//Ajouter le nom de la colonne
sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + ",";
}
sqlCmd = sqlCmd.Substring(0,sqlCmd.Length - 1) + ") valeurs (";
// Parcours des colonnes DataTable
pour(int x = 0;x < dataTableXml.Columns.Count;x++)
{
//Ajouter la valeur de la colonne à la ligne
sqlCmd = sqlCmd + "'" + dr[x].ToString().Replace("'","''") + "',";
}
sqlCmd = sqlCmd.Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();
}
Points à noter :
Lors des tests, téléchargez d'abord le code source, créez une base de données vide, définissez les autorisations modifiables Database.mdb, Database.xls et créez un
exemple de chaîne de connexion de répertoire vide pour FoxPro/dBase :
Accès : Fournisseur = Microsoft.Jet.OLEDB.4.0 ; Source de données = C:datadatabase.mdb ;
Excel : Provider=Microsoft.Jet.OLEDB.4.0 ; Source de données = C:datadatabase.xls ; Propriétés étendues = Excel 8.0 ;
FoxPro/dBase : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:data;Extended Properties=dBASE IV;
SQL Server : fournisseur = SQLOLEDB ; source de données = localhost ; catalogue initial = base de données ; ID utilisateur = sa ; mot de passe = ;