Originaltext: http://aspalliance.com/articleViewer.aspx?aId=477&pId=-1
Autor: Andrew Mooney Übersetzung: Mencius Kapitel E [Quellcode herunterladen
// Überprüfen Sie, ob die Tabelle vorhanden ist. Wenn sie vorhanden ist, gibt es einen Datensatz in der DataTable
if(schemaTable.Rows.Count < 1)
sqlCmd = "Tabelle erstellen " + Tabellenname + " (";
for(int i = 0;i < dataTableXml.Columns.Count;i++)
{
//Spaltentext/Stringtyplänge 100 hinzufügen
sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + " char(100),";
}
sqlCmd = sqlCmd .Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();
XML-Daten zur Datenbank hinzufügen
// Durchlaufen der Zeilen in der Datentabelle
foreach(DataRow dr in dataTableXml.Rows)
{
string sqlCmd = "insert into [" + tableName + "] (";
// Durchlaufe die Spalten von Datatable
for(int i = 0;i < dataTableXml.Columns.Count;i++)
{
//Spaltennamen hinzufügen
sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + ",";
}
sqlCmd = sqlCmd.Substring(0,sqlCmd.Length - 1) + ") Werte (";
// DataTable-Spalten durchlaufen
for(int x = 0;x < dataTableXml.Columns.Count;x++)
{
//Spaltenwert zur Zeile hinzufügen
sqlCmd = sqlCmd + "'" + dr[x].ToString().Replace("'","''") + "',";
}
sqlCmd = sqlCmd.Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();
}
Zu beachtende Punkte:
Laden Sie beim Testen zunächst den Quellcode herunter, erstellen Sie eine leere Datenbank, legen Sie die änderbaren Berechtigungen Database.mdb und Database.xls fest und erstellen Sie ein
Beispiel für eine leere Verzeichnisverbindungszeichenfolge für FoxPro/dBase:
Zugriff: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:datadatabase.mdb;
Excel: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:datadatabase.xls;Extended Properties=Excel 8.0;
FoxPro/dBase: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:data;Extended Properties=dBASE IV;
SQL Server: Provider=SQLOLEDB; Datenquelle=localhost; Initial Catalog=database;User ID=sa;Password=;