Ho un set di dati creato dinamicamente da un file csv. Quello che voglio fare è inserire le righe nella mia tabella MS Access ma non riesco a capire da dove cominciare.Dataset C# per accedere al DB
Le intestazioni dei dati nel set di dati possono variare fino all'ordine ma il nome dell'intestazione corrisponderà sempre al database di accesso. Devo chiamare staticamente il nome dell'intestazione nel comando insert o posso creare le intestazioni dal set di dati?
So come creare la connessione e aprirlo al database ma non sono sicuro di come creare nel comando di inserimento per estrarre dinamicamente le intestazioni della tabella.
Sono abbastanza verde quando si tratta di programmazione in C# quindi se riesci a spiegarlo per me lo apprezzerei davvero!
Ecco un esempio delle intestazioni della tabella di accesso:
ID, punto, costo, vendita al dettaglio
Poi il CSV che riempirà la tabella di set di dati. Potrebbe avere al dettaglio o non potrebbe:
Item, costo
Ecco il codice che ho finora, ma non scrive alla tabella di accesso. Se visualizzo correttamente dtAccess, viene visualizzato correttamente.
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\Database.accdb\";Persist Security Info=False;");
myConnection.Open();
string queryString = "SELECT * from " + lblTable.Text;
OleDbDataAdapter adapter = new OleDbDataAdapter(queryString, myConnection);
DataTable dtAccess = new DataTable();
DataTable dtCSV = new DataTable();
dtCSV = ds.Tables[0];
using (new OleDbCommandBuilder(adapter))
{
adapter.Fill(dtAccess);
dtAccess.Merge(dtCSV);
adapter.Update(dtAccess);
}
myConnection.Close();
È già stato creato dinamicamente o vuoi che venga creato dinamicamente? – McKay
Voglio che venga creato dinamicamente in una stringa, così posso usarlo in un comando di inserimento. Somthing like: INSERT INTO [table] (datasetheaders) – Reg
Scusa @reg puoi essere più esplicito in ciò che stai cercando. Possiamo vedere esempi? – McKay