Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    117

    Import Excel in SQL Server [C#]

    Ragazzi,
    ho letto un file Excel e dopo di che ho provveduto a scrivere il contenuto in una pagina Web.
    Adesso dovrei leggere il file Excel ed infine scrivere il suo contenuto in una tabella SQL Server.
    Questo è il codice che devo andare a cambiare:
    ExcelConnection.Open();

    //Create a reader

    System.Data.OleDb.OleDbDataReader ExcelReader;
    ExcelReader = ExcelCommand.ExecuteReader();

    //For each row after the first
    //Message box the values in the first column i.e. column 0
    while (ExcelReader.Read())
    {
    Message+=(ExcelReader.GetValue(0)).ToString()+ "-" +(ExcelReader.GetValue (1)).ToString()+ "-" +(ExcelReader.GetValue(2)).ToString() + "
    ";
    }
    ExcelConnection.Close();
    }

    Una volta aperto il datareader, al posto di Message, dovrei utilizzare un sqlcommand di tipo:
    INSERT INTO [tabella] (le colonne della tabella SQL Server) VALUES();
    Quello che non riesco a capire è: come faccio a passargli i valori da mettere nelle colonne ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    117
    Risolto il problema di inseirmento dati in SQL Server. Ho fatto cosi:
    ExcelConnection.Open();

    //Create a reader

    System.Data.OleDb.OleDbDataReader ExcelReader;
    ExcelReader = ExcelCommand.ExecuteReader();

    //For each row after the first
    //Message box the values in the first column i.e. column 0
    while (ExcelReader.Read())
    {
    SqlConnection myConn = new SqlConnection (_config["ConnectionString"].ToString());
    myConn.Open();
    SqlCommand myComm = new SqlCommand ("INSERT INTO [Test] (ID, NOME, COGNOME) VALUES('" + (ExcelReader.GetValue(0)).ToString().Replace("'", "''") + "', '" + (ExcelReader.GetValue(1)).ToString().Replace("'", "''") + "', '" + (ExcelReader.GetValue(2)).ToString().Replace("'", "''") + "')", myconn);
    myComm.ExecuteNonQuery();
    myConn.Close();
    }
    ExcelConnection.Close();

    Adesso però ho un problema; tutte le volte che importo i dati, vengono inseriti anche i dati già importati precedentemente. Quindi vengono duplicati.

    Come posso fare per risolvere il problema?
    Un'altra cosa: se voglio controllare il valore dei record in una determinata colonna come posso fare?
    Esempio:
    Devo controllare se la colonna Risposta è uguale o a "si" oppure a "no".
    Mentre per formattere una colonna?
    Adesso ho un date/time, ma vorrei avere solamente la data in formato USA.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.