• User

    @cali1981 said:

    Ok, allora il problema è che strVariabile = objRS("CODICE_PERSONALE")
    lo fa solo se la riga non è presente nel db, quindi lui la prima volta inseirsce la riga 1, strvariabile diventa uguale a quel codice e la seconda non la inserisce. La seconda volta invece strvaribile non lo valorizza perchè non entra nell'if. Giusto?

    Scusa non ho capito se mi hai dato la soluzione al problema o hai chiesto semplicemente conferma del tuo ragionamento al riguardo...:dull:


  • Super User

    Beh questa è una cosa che non va bene, quindi devi trovare un altro modo per farlo. Ad esempio, strvariabile = arrText(7)


  • User

    @cali1981 said:

    Beh questa è una cosa che non va bene, quindi devi trovare un altro modo per farlo. Ad esempio, strvariabile = arrText(7)

    Scusa non ho capito. 😞


  • Super User

    Invece di fare:

    strVariabile = objRS("CODICE_PERSONALE")

    lo toglie e metti

    strvariabile = arrText(7)

    prima della riga con il commento:
    'CONTROLLO NEL DB L'ESISTENZA DELLA RIGA UGUALE


  • User

    @cali1981 said:

    Invece di fare:

    strVariabile = objRS("CODICE_PERSONALE")

    lo toglie e metti

    strvariabile = arrText(7)

    prima della riga con il commento:
    'CONTROLLO NEL DB L'ESISTENZA DELLA RIGA UGUALE

    Ho provato ma con questa modifica non inserisce più nulla nel db mysql. 😞
    Fatico a seguirti, sorry.


  • Super User

    No il resto è tutto uguale. In pratica, nel tuo script tu fai la query per vedere se il record c'è già, se non c'è lo inserisci e poi salvi il codice per controllarlo rispetto al successivo. Il problema è che se il record c'è già tu nn ti salvi il codice e perciò al secondo inserimento il record 2 lo inserisce! Invece facendo come ti ho detto io tu il codice lo salvi prima in ogni caso, quindi stavolta il record 2 non lo inserirà.


  • User

    Ho provato ma con questa modifica non inserisce più nulla nel db mysql. 😞


  • Super User

    Scrivi qui il nuovo codice


  • User

    Questo è il nuovo codice ASP:

     
    PercorsoCSV = "D:\Inetpub\wwwroot\CSV\file1.csv "
     
      Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
      strURL = percorsoCSV 
     
      Set objFile = objFSO.OpenTextFile(strURL)  
      objFile.SkipLine()  
     
      strVariabile = ""
      Do While Not objFile.AtEndOfStream
     
       strText = objFile.readLine   
       arrText = split(strText, ",", 17)
     
      strVariabile = arrText(7)
     
    'CONTROLLO NEL DB L'ESISTENZA DELLA RIGA UGUALE
    SQL = " SELECT * " 
    SQL = SQL & " FROM "  
    SQL = SQL & " tabellaCSV " 
    SQL = SQL & " WHERE "
    SQL = SQL & " NOME = '" & replace(arrText(0), """", "") & "' " 
    SQL = SQL & " AND "  
    SQL = SQL & " DATA = " & formatDBDate(replace(arrText(2), """", ""), "mysql") & " " 
    SQL = SQL & " AND "  
    SQL = SQL & " ORA = '" & replace(arrText(3), """", "") & "' "
    SQL = SQL & " AND " 
    SQL = SQL & " CODICE_PERSONALE = '" & replace(arrText(7), """", "") & "' "
    SQL = SQL & " AND " 
    SQL = SQL & " DESCRIZIONE = '" & replace(arrText(8), """", "") & "' "
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.open SQL, cn
     
    'APERTURA PRIMO IF E CONTROLLO SU objRS
    if objRS.eof then
     
    'QUI CONTROLLO LE RIGHE SIMILI ED INSERISCO NEL DB MYSQL
    if objRS("CODICE_PERSONALE") <> strVariabile  then
     
    strSql = "INSERT INTO tabellaCSV ... " 
    cn.execute(strSql)
     
     end if
     
    'ALTRIMENTI SU PRIMO IF     
    else
     
      response.write "record già presente!<br>"
     
    'CHIUSURA PRIMO IF
    end if
      Loop
     
      objRS.Close()
      Set objRS = Nothing 
     
      cn.Close()
      Set cn = nothing
     
    Set fsoMyFile = CreateObject("Scripting.FileSystemObject")
     
    if fsoMyFile.FileExists (PercorsoCSV) then
       fsoMyFile.DeleteFile PercorsoCSV
    end if
     
    Set fsoMyFile = Nothing 
    Set objFSO = Nothing
    
    

  • Super User

    giusto scusa, rimetti strvariabile come era all'inizio e aggiunge quella che ti ho detto ora, strVariabile = arrText(7) prima di response.write "record già presente!<br>" e dopo 'ALTRIMENTI SU PRIMO IF
    else


  • User

    @cali1981 said:

    giusto scusa, rimetti strvariabile come era all'inizio e aggiunge quella che ti ho detto ora, strVariabile = arrText(7) prima di response.write "record già presente!<br>" e dopo 'ALTRIMENTI SU PRIMO IF
    else

    Mitico, grande !!!
    Adesso si funziona!!!
    1000 grazie

    :ciauz:


  • Super User

    di niente!
    Ciao