Heim >Backend-Entwicklung >C#.Net-Tutorial >Detaillierte Erläuterung des C#-Beispielcodes zum gleichzeitigen Einfügen von Daten in DataTable in die Datenbank
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);Anhang: Einfache Verwendung von SqlBulkCopy
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!