- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Problema inserimento record doppi
-
Beh questa è una cosa che non va bene, quindi devi trovare un altro modo per farlo. Ad esempio, strvariabile = arrText(7)
-
@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.
-
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
-
@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 UGUALEHo provato ma con questa modifica non inserisce più nulla nel db mysql.
Fatico a seguirti, sorry.
-
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à.
-
Ho provato ma con questa modifica non inserisce più nulla nel db mysql.
-
Scrivi qui il nuovo codice
-
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
-
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
-
@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
elseMitico, grande !!!
Adesso si funziona!!!
1000 grazie
-
di niente!
Ciao