codice:
Private Sub Praticanti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Praticanti.Click
'*******parte relativa al db DBF
Dim strSQL As String = "SELECT * FROM Registro"
Dim strsql2 As String
'apre la connessione al dbf ed esegue la query
DB = DBE.OpenDatabase(path, False, False, "dBase IV;")
RS = DB.OpenRecordset(strSQL, dao.RecordsetTypeEnum.dbOpenDynaset)
'*******fine************************
Dim data_selezione, data_rilascio As Date
Dim rilascio As String
Dim percent, index As Integer
percent = 0
index = 0
data_selezione = CDate(MaskedTextBox1.Text)
'********apertura e gestione della connessione al MYSQL
'select Cognome,nome,luogonascita,Datanascita,Indirizzo,Citta,Prov,Iscrizione_praticanti,Abilitazione_patrocinio,Iscrizione_Avvocati,Iscrizione_cassazione,DataTessera,data_ultima_mod from arc_completo where tipo_iscritto='A' and(Iscrizione_praticanti is not null or Abilitazione_patrocinio is not null) and (Iscrizione_praticanti > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "' or Abilitazione_patrocinio > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "' or data_ultima_mod > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "') and (Iscrizione_Avvocati is null)
sql_mysql = "select Cognome,nome,luogonascita,Datanascita,Indirizzo,Citta,Prov,Iscrizione_praticanti,Abilitazione_patrocinio,Iscrizione_Avvocati,Iscrizione_cassazione,DataTessera,data_ultima_mod from arc_completo where tipo_iscritto='A' and(Iscrizione_praticanti is not null or Abilitazione_patrocinio is not null) and (Iscrizione_praticanti > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "' or Abilitazione_patrocinio > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "' or data_ultima_mod > '" & data_selezione.Year & "-" & data_selezione.Month & "-" & data_selezione.Day & "') and (Iscrizione_Avvocati is null)"
obj_c_mysql.open_connection()
rs_mysql = obj_c_mysql.esegui_query(sql_mysql, 1, 3)
'******** fine del MYSQL***********
'***********dati di presentazione interfaccia grafica
Dim value As Integer
Dim data_appoggio As Date
Dim giorno As String
Dim mese As String
Dim nome, cognome, luogonascita As String
'*******fine presentazione interfaccia grafica
While rs_mysql.EOF = False
value = value + 1
rs_mysql.MoveNext()
End While
rs_mysql.MoveFirst()
While rs_mysql.EOF = False
If rs_mysql("Datanascita").Value IsNot DBNull.Value Then
data_appoggio = (rs_mysql("Datanascita").Value)
If data_appoggio.Day.ToString.Length = 2 Then
giorno = data_appoggio.Day.ToString
Else
giorno = "0" & data_appoggio.Day.ToString
End If
If data_appoggio.Month.ToString.Length = 2 Then
mese = data_appoggio.Month.ToString
Else
mese = "0" & data_appoggio.Month.ToString
End If
End If
cognome = rs_mysql("cognome").Value.ToString.Replace("'", "''")
nome = rs_mysql("nome").Value.ToString.Replace("'", "''")
luogonascita = rs_mysql("luogonascita").ToString.Replace("'", "''")
strsql2 = "SELECT Registro.COGNOME, Registro.NOME, Registro.DATANASCIT, Registro.LUOGONASCI FROM(Registro)WHERE (((Registro.COGNOME)='" & cognome & "') AND ((Registro.NOME)='" & nome & "') AND ((Registro.DATANASCIT)='" & giorno & "/" & mese & "/" & data_appoggio.Year.ToString.Remove(0, 2) & "') AND ((Registro.LUOGONASCI)='" & luogonascita & "'));"
RS2 = DB.OpenRecordset(strsql2, dao.RecordsetTypeEnum.dbOpenDynaset)
While RS2.EOF = False
RS2.Delete()
RS2.MoveNext()
End While
rs_mysql.MoveNext()
End While
RS2.Close()
rs_mysql.MoveFirst()
Label1.Text = "Numero di record esportati:" & value.ToString
While rs_mysql.EOF = False
RS.AddNew()
Try
If rs_mysql("cognome").Value IsNot DBNull.Value Then
RS("cognome").Value = rs_mysql("cognome").Value
Else
RS("cognome").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo cognome")
End Try
Try
If rs_mysql("nome").Value IsNot DBNull.Value Then
RS("nome").Value = rs_mysql("nome").Value
Else
RS("nome").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo nome")
End Try
Try
If rs_mysql("Datanascita").Value IsNot DBNull.Value Then
data_appoggio = (rs_mysql("Datanascita").Value)
If data_appoggio.Day.ToString.Length = 2 Then
giorno = data_appoggio.Day.ToString
Else
giorno = "0" & data_appoggio.Day.ToString
End If
If data_appoggio.Month.ToString.Length = 2 Then
mese = data_appoggio.Month.ToString
Else
mese = "0" & data_appoggio.Month.ToString
End If
RS("datanascit").Value = giorno & "/" & mese & "/" & data_appoggio.Year.ToString.Remove(0, 2)
Else
RS("datanascit").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo Datanascita")
End Try
Try
If rs_mysql("luogonascita").Value IsNot DBNull.Value Then
RS("luogonasci").Value = rs_mysql("luogonascita").Value
Else
RS("luogonascit").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo luogo nascita")
End Try
Try
If rs_mysql("Indirizzo").Value IsNot DBNull.Value Then
RS("indirizzo").Value = rs_mysql("Indirizzo").Value
Else
RS("indirizzo").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo Indirizzo")
End Try
Try
If rs_mysql("Citta").Value IsNot DBNull.Value Then
RS("citta").Value = rs_mysql("Citta").Value
Else
RS("citta").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo Citta")
End Try
Try
If rs_mysql("Iscrizione_praticanti").Value IsNot DBNull.Value Then
data_appoggio = (rs_mysql("Iscrizione_praticanti").Value)
If data_appoggio.Day.ToString.Length = 2 Then
giorno = data_appoggio.Day.ToString
Else
giorno = "0" & data_appoggio.Day.ToString
End If
If data_appoggio.Month.ToString.Length = 2 Then
mese = data_appoggio.Month.ToString
Else
mese = "0" & data_appoggio.Month.ToString
End If
RS("praticanti").Value = giorno & "/" & mese & "/" & data_appoggio.Year.ToString.Remove(0, 2)
Else
RS("praticanti").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo Iscrizione_praticanti")
End Try
Try
If rs_mysql("Abilitazione_patrocinio").Value IsNot DBNull.Value Then
data_appoggio = (rs_mysql("Abilitazione_patrocinio").Value)
If data_appoggio.Day.ToString.Length = 2 Then
giorno = data_appoggio.Day.ToString
Else
giorno = "0" & data_appoggio.Day.ToString
End If
If data_appoggio.Month.ToString.Length = 2 Then
mese = data_appoggio.Month.ToString
Else
mese = "0" & data_appoggio.Month.ToString
End If
RS("patrocinio").Value = giorno & "/" & mese & "/" & data_appoggio.Year.ToString.Remove(0, 2)
Else
RS("patrocinio").Value = ""
End If
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sul campo Abilitazione_patrocinio")
End Try
Try
data_rilascio = data_appoggio.AddDays(1)
If data_rilascio.Day.ToString.Length = 2 Then
giorno = data_rilascio.Day.ToString
Else
giorno = "0" & data_rilascio.Day.ToString
End If
If data_rilascio.Month.ToString.Length = 2 Then
mese = data_rilascio.Month.ToString
Else
mese = "0" & data_rilascio.Month.ToString
End If
rilascio = giorno & "/" & mese & "/" & (data_rilascio.Year.ToString)
RS("rilascio").Value = rilascio
Catch ex As System.Runtime.InteropServices.COMException
MsgBox("invalid operation sulla modifica della data")
End Try
'Try
' RS("prog1").Value = DBNull.Value
' RS("magneti1").Value = DBNull.Value
' RS("foto1").Value = DBNull.Value
'Catch ex As System.Runtime.InteropServices.COMException
' MsgBox("errore sull'importazione degli ultimi tre campi")
'End Try
'RS("indirizzo").Value =
RS.Update()
rs_mysql.MoveNext()
index = index + 1
percent = ((index / value) * 100)
ProgressBar1.Value = percent
End While
MsgBox("esportazione completata con successo!!!", MsgBoxStyle.Information)
End Sub
il programma funziona e fa il suo lavoro finché i nominativi sono dell'ordine di 100,150...come appena si supera tale limite va in blocco e dal sito della microsoft ho capito che il blocco è dovuto ai driver che non ce la fanno a gestire tabelle di questa dimensione.