In diesem Artikel wird hauptsächlich die detaillierte Methode zum gleichzeitigen Einfügen der Daten in der DataTable vorgestellt. Interessierte können mehr darüber erfahren. Die aktuelle Ist-Situation ist wie folgt:
Der Kunde verfügt über einen Einstempelautomaten und alle Einstempelinformationen des Mitarbeiters werden jetzt in der Access-Datenbank des Einstempelautomaten gespeichert Da der Kunde ein neues Verwaltungssystem eingeführt hat, ist es notwendig, die Punch-In-Daten in der Access-Datenbank mit der SQL Server-Datenbank zu synchronisieren. Aufgrund der langen Zeit haben sich mehr als 400.000 Daten angesammelt. Softwarefunktionen: Wählen Sie die Access-Datenbankdatei aus, geben Sie die IP-Adresse der Ziel-SQL Server-Datenbank ein und starten Sie dann die Synchronisierung. Implementierungsmethode: 1. Speichern Sie zunächst die Daten, die aus der Access-Datenbank importiert werden sollen, in der DataTableDatenbankverbindung in der Konfigurationsdatei
Stringkapselt die Methode zum Einlesen von Access-Datenbankdaten in DataTable
<connectionStrings> <add name="oleConStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/> <add name="sqlConStr" connectionString ="server=tiantiankaixing;database=新建数据库;trusted_connection=sspi"/> </connectionStrings>
Einlesen der Ziel-Access-Datenbank in Datatable
public static string OleConStr = ConfigurationManager.ConnectionStrings["oleConStr"].ConnectionString ; public static DataTable OleGetDataTable(string sql, string filePath) { string a = OleConStr + filePath; using (OleDbConnection conn = new OleDbConnection(a)) { using (OleDbDataAdapter da = new OleDbDataAdapter(sql, conn)) { try { conn.Open(); DataTable dt = new DataTable(); da.Fill(dt); return dt; } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) conn.Close(); } } } }
2. Methode zum Kapseln der Stapeleinfügung von SQL Server-Daten
string sql = "select Id,Time from checkinout"; DataTable dt = AcHelper.OleGetDataTable(sql, @"F:\project\tiantiankaixing\admin.mdb");
3. Rufen Sie die DataTableToSQlServer()-Methode
public static void DataTableToSQLServer(DataTable dt,string connectString) { string connectionString = connectString; using (SqlConnection destinationConnection = new SqlConnection(connectionString)) { destinationConnection.Open(); using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destinationConnection)) { try { bulkCopy.DestinationTableName = "checkinout";//要插入的表的表名 bulkCopy.BatchSize = dt.Rows.Count; bulkCopy.ColumnMappings.Add("ID", "ID");//映射字段名 DataTable列名 ,数据库 对应的列名 bulkCopy.ColumnMappings.Add("TIME", "TIME"); bulkCopy.WriteToServer(dt); System.Windows.Forms.MessageBox.Show("插入成功"); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { } } } }
auf, um alle Daten in der DataTable in die Datenbank einzufügen
string localCon = "server=tiantiankaixing;database=Test;trusted_connection=sspi"; Entity.DataTableToSQLServer(dt, localCon);
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des C#-Beispielcodes zum gleichzeitigen Einfügen von Daten in DataTable in die Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!