Newsgroup: it.comp.lang.visual-basic
Titolo: Ado mi sembra di essere entrato in un incubo !!!!!

Salve !!!!
grazie a Marco Corona per avermi spiegato che andava utilizzato per il
collegamento ad un Database mysql il "Microsoft ActiveX Data Objects 2.5
Library" MSADO15.DLL e non il classico MSADODC.OCX  "Microsoft ADO Data
Control 6.0 (SP3)(OLEDB) Versione 6.00.8418 ma ora mentre faccio girare il
mio programmino succede questo.....
dopo 32 iterazzioni il prg va' in errore e dice.."Errore aggiornamento
basato su query. impossibile trovare la riga da aggiornare" l'errore si
verifica alla riga "Proxy_log.MoveNext" ho provato ad inserire anche la riga
"Proxy_log.Update" ma nulla di fatto, in questo caso l'errore e' su
quest'ultima...
ecco il mio prg
--------------------------------------------------------
Private Proxy_log As ADODB.Recordset
Private cn As ADODB.Connection
Private Sub Command1_Click()
    Percorso_Log = "Z:\Proxy_Log\Hold\"
    Set cn = New ADODB.Connection
    Set Proxy_log = New ADODB.Recordset
    cn.ConnectionString = "DSN=proxy_log;uid=root;"
    cn.Open
    Set Proxy_log = cn.Execute("Delete from Tmp_ws")
    Set Proxy_log = cn.Execute("Delete from Tmp_w3")
    File_El_Log = Elenco_Log(Percorso_Log)
    barra.Max = UBound(File_El_Log)
    Percorso_Log = Replace(Percorso_Log, "\", "\\")
    For i = 0 To UBound(File_El_Log)
        Form1.Refresh
        testo.Caption = File_El_Log(i)
        barra.Value = i
        If UCase(Mid(File_El_Log(i), 1, 2)) = "W3" Then
            cn.Execute ("LOAD DATA LOCAL INFILE '" + Percorso_Log +
File_El_Log(i) + "'" + " INTO TABLE proxy_log.Tmp_w3 FIELDS TERMINATED BY
','")
        End If
        If UCase(Mid(File_El_Log(i), 1, 2)) = "WS" Then
            cn.Execute ("LOAD DATA LOCAL INFILE '" + Percorso_Log +
File_El_Log(i) + "'" + " INTO TABLE proxy_log.Tmp_ws FIELDS TERMINATED BY
','")
      End If
    Next
    Proxy_log.Open "select * from tmp_ws", cn, adOpenDynamic,
adLockOptimistic
    i = 0
    Proxy_log.MoveFirst
    Do While Not Proxy_log.EOF
        i = i + 1
        Form1.Refresh
        testo.Caption = Proxy_log.Fields("iputente") + "**" +
Proxy_log.Fields("utente") + Str(i)
        Proxy_log.Fields("iputente") =
LTrim(RTrim(Proxy_log.Fields("iputente")))
        Proxy_log.Fields("utente") =
LTrim(RTrim(Proxy_log.Fields("utente")))
        Proxy_log.Update
        Proxy_log.MoveNext
    Loop
    Proxy_log.Close
    cn.Close
    Unload Form1
End Sub
Private Function Elenco_Log(fPercorso)
    Dim File_Log() As String
    i = -1
    myname = Dir(fPercorso + "w*.log")
    Do While myname <> ""
        i = i + 1
        ReDim Preserve File_Log(i)
        File_Log(i) = myname
        myname = Dir
   Loop
   Elenco_Log = File_Log
End Function
forse un problema di settaggi da qualche parte.....ma e' mai possibile che
non si riesca a gestire un cavolo di database senza perdere un sacco di
tempo per prove... sono circa 14 anni che scrivo Sw ma non mi e' mai
capitato nulla del genere.
rigrazzio tutti per il vostro tempo prezioso e particolarmente Marco Corona
per le informazioni che mi ha passato

 quest'ultima...
Da una lettura veloce del tuo listato mi sembra di capire che potresti avere
lo stesso risultato del ciclo incriminato con una sola riga di codice:
cn.Execute "update tmp_ws set iputente=TRIM(iputente), utente=TRIM(utente)"
poi leggi il recordset per visualizzarlo
Ciao, M.

 ha scritto nel messaggio
news:9a0c5l$33vfm$1...@ID-77380.news.dfncis.de...


 ho scritto teoricamente e' corretto ?
Penso di si,
prova a controllare nelle impostazione del DSN di aver lasciato tutti i
check box disabilitati tranne "Change BIGINT columns to INT" e "Safety".
Ciao, M.

 ha scritto nel messaggio
news:9a1dtr$375l0$1...@ID-77380.news.dfncis.de...


 basato su query. impossibile trovare la riga da aggiornare" nen e' starito
č possibile che ci siano due (o piů)  record con tutti i campi modificati
uguali? (nel tuo caso iputente e utente)??
Se si, hai definito un terzo campo chiave della tabella?
Se non l'hai definito puoi cavartela con un campo numerico impostato in
auto_increment e definito come chiave.
Prova a vedere se cosě risolvi il problema
Ciao, M.

 ha scritto nel messaggio
news:9a1g9l$37b1p$1...@ID-77380.news.dfncis.de...
