Sto usando ADO anche per importare il file excel e poi spostarlo nel database.
Quello che voglio fare, importare tutto il contenuto dell excel, spostarlo in un datatable per poi copiare tutto nella tabella del database.
Ecco il codice:
String ^ connstring = " Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + openFileDialog1->FileName + "; Extended Properties = 'Excel 12.0 Xml; HDR = YES'";
OleDbConnection ^connection = gcnew OleDbConnection(connstring);
connection->Open(); //apro la connessione con il file excel
OleDbCommand ^cmd1 = gcnew OleDbCommand("SELECT * " + "FROM [magricam$]", connection);
OleDbDataAdapter ^ sda = gcnew OleDbDataAdapter();
sda->SelectCommand = cmd1;
//memorizzo dati nel datatable
DataTable ^ dbdataset = gcnew DataTable();
sda->Fill(dbdataset);
MessageBox::Show("Dati Tabella:" + dbdataset->TableName);
//sposto i dati verso la tabella ricambi
OleDbConnection ^connection2 = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=database1.accdb;Persist Security Info=False;");
connection2->Open(); //apro la connessione con il db
OleDbCommand ^cmd2 = gcnew OleDbCommand("INSERT INTO RICAMBI SELECT * FROM" + dbdataset + ";", connection2);
//eseguo il comando
cmd2->ExecuteNonQuery();
L'errore mi viene dato quando devo inserire i dati nella tabella del database.
Potrete dirmi se può funzionare questo metodo e dove è l errore?