Torna al Thread

namespace Code { public partial class Form1 : Form { private const string InsertDB = @"INSERT INTO tblUser(nome,cognome,via,codice)VALUE(?,?,?,?);"; private const string CnFROM = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db\\sigma.mdb;User Id=admin;Password=;"; private const string CnTO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db\\copia1.mdb;User Id=admin;Password=;"; private DataTable DT; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) {DataSet ds = new DataSet(); // riempo il Dataset con la tabella da copiare e modificare ds = CloneTab(CnFROM); // ne faccio una copia sul datatable DT DT = ds.Tables["tbluser"].Copy(); // Aggiungo la colonna in più DataColumn clmn = new DataColumn(); clmn.AllowDBNull = true; clmn.ColumnName = "codice"; clmn.DataType = System.Type.GetType("System.String"); DT.Columns.Add(clmn); //scorro tutte le righe del datatable e scrivo nella colonna appena aggiunta foreach (DataRow row in DT.Rows) { // scorro tutte le righe della datatable ed scrivo sulla colonna aggiunta il relativo valore.. row["codice"] = row["nome"].ToString() + row["cognome"].ToString(); } } private DataSet CloneTab(string cnnString) { System.Data.OleDb.OleDbDataAdapter daClone = new System.Data.OleDb.OleDbDataAdapter(); DataSet dsClone = new DataSet(); System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(); cn.ConnectionString = cnnString; try { cn.Open(); } catch (Exception e) { MessageBox.Show(e.Message); } finally { System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(); cmd.CommandText = "select * from tbluser"; cmd.Connection = cn; daClone.SelectCommand = cmd; daClone.Fill(dsClone, "tbluser"); } // ritorna il dataset "riempito" con i dati return dsClone; } private void button1_Click(object sender, EventArgs e) { System.Data.OleDb.OleDbConnection cnUPDATE = new System.Data.OleDb.OleDbConnection(); //setto la connessione del database di destinazione... cnUPDATE.ConnectionString = CnTO; // scorro tutte le row del datatable foreach (DataRow row in DT.Rows) { OleDbCommand cmdWrite = new OleDbCommand(); cmdWrite.Connection = cnUPDATE; cmdWrite.CommandText = InsertDB; cmdWrite.CommandType = CommandType.Text; // scorro tutte le colonne della row ed assegno i parametri for (int j = 0; j < row.Table.Columns.Count; j++) { cmdWrite.Parameters.Add( new OleDbParameter(row.Table.Columns[j].ColumnName, row[j])); } // salvo la row del datatable cnUPDATE.Open(); cmdWrite.ExecuteNonQuery(); cnUPDATE.Close(); } } } }
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5