Ho due App, (Ios e Android)  che creano lo stesso db con tre campi, il db viene inviato via Ftp sul mio sito; Due App (ios e android) riprendono il file, lo visualizzano e permettono all'utente di di utilizzarlo. Ora succede una cosa strana, il file creato con ios viene ripreso perfettamente dalle due app preposte, l'ho testato fino ad oltre 400 record, poi per sicurezza ho creato il database su Android e con un amara sorpresaa stupore, scopro che funziona fino a 9 record dopo su ios in debug esce questo messaggio Unknown error calling sqlite3_step (11: database disk image is malformed) rs- Ho provato sia con Ftp sia co https, stesso errore ma l'app non esce, mentre con android esce l'app appena carica il file. Per ambedue i sistemi ho utilizzato lo stesso codice
per inizializzare il databese
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Per creare il database
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
per inserire i dati
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
sul'App visualizzo il tutto con
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
e sulla lista vedo tutti i record, avevo fatto un inserimento automatico fino a 400 record.
inizialente ho pensato che l'inserimento automatico portasse il problema, quindi mi sono armato
di paziena e li ho inseriti manualmente come previsto ma dopo 9 record arrivano i problemi sulle app riceventi
queste a rigor di logica non dovrbbero avere problemi che con il db creato con B4I non hanno problemi.
L'invio del db sul sito viene fatto con ftp con ambedue i sistemi
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Ho provato ha elinare gli spazi con trim ma non cambia nulla, Forse con Utf8 ma no so la sintassi per implementarlo, ho provato con ftp close
ma nulla cambia. Sicuramente sbaglio io ma non riesco a capirl, sono depresso
			
			per inizializzare il databese
			
				B4X:
			
		
		
		    dbline ="prenline" & currentyear & ".xls"
    SQLDataBasePath = File.DirInternal
    If File.Exists(SQLDataBasePath, dbline) = False Then
       SQL1.Initialize(SQLDataBasePath, dbline, True)
        CreateDataBaseoline
    Else
           SQL1.Initialize(SQLDataBasePath, dbline, True)
    End If
	Per creare il database
			
				B4X:
			
		
		
		Private Sub CreateDataBaseonline
    Dim Query As String
    Query = "CREATE TABLE preoline(prendata Date, orapren TEXT, arco TEXT, idline text)"
    SQL1.ExecNonQuery(Query)
    'Fills a few entries
    Query = "INSERT INTO  preoline VALUES (?, ?, ?, ?)"
End Sub
	
			
				B4X:
			
		
		
		SQL1.Initialize(SQLDataBasePath, dbline , True)
            objRowID= SQL1.ExecQuerySingleResult("SELECT max(rowid) FROM preoline")
            If Not(objRowID = Null) Then
                Nrow = objRowID
            Else
                Nrow = 0
            End If
            Nrow=Nrow+1
            testo=Nrow       
            Query = "INSERT INTO preoline VALUES (?, ?, ?, ?)"
            SQL1.ExecNonQuery2(Query, Array As String(editpren.Text, labora.text, te, testo))
	
			
				B4X:
			
		
		
		Private Sub Updateline
    listaoline.clear
    nr=False
    SQL1.Initialize(SQLDataBasePath, dbline , True)
    Dim Query As String
    Dim ResultSet1 As ResultSet
    Query = "SELECT * FROM preoline WHERE prendata = ?"
    ResultSet1 = SQL1.ExecQuery2(Query, Array As String (editpren.text))
        Do While ResultSet1.NextRow
        Dim p As B4XView = xui.CreatePanel("")
        p.SetLayoutAnimated(0, 0, 0, listaoline.AsView.Width, 30dip)
        p.LoadLayout("itmeorari")
        label1.Text= ResultSet1.GetString("prendata")
        label2.Text= ResultSet1.GetString("orapren")
        label3.Text=  ResultSet1.GetString("arco")
        label4.Text=  ResultSet1.GetString("idline")
        listaoline.Add(p, Null)
    Loop
    If listaoline.Size>0 Then nr=True
        ResultSet1.Close
End Sub
	inizialente ho pensato che l'inserimento automatico portasse il problema, quindi mi sono armato
di paziena e li ho inseriti manualmente come previsto ma dopo 9 record arrivano i problemi sulle app riceventi
queste a rigor di logica non dovrbbero avere problemi che con il db creato con B4I non hanno problemi.
L'invio del db sul sito viene fatto con ftp con ambedue i sistemi
			
				B4X:
			
		
		
		b inviaprenotazioni
    fl = Cognome & nome
    testo= "prenline" & currentyear & ".xls"
    If File.Exists(File.DirInternal,testo) Then
          ftp.Initialize("ftp", "ftp.miosito", 21, "[email protected]", Mod3.pswftp)
        ftp.PassiveMode = True
        If label14.Text =" " Then
            Dim sf As Object = ftp.UploadFile(File.DirInternal,testo,True,"miosito.it/public/Mycartella1/" & fl & testo)
        Else
            Dim sf As Object = ftp.UploadFile(File.DirInternal,testo,True,"miosito.it/public/Mycartella2/" & fl & testo)
        End If
          Wait For (sf) ftp_UploadCompleted (ServerPath As String, Success As Boolean)
        If Success Then
            ToastMessageShow("Inviato file prenotazioni", False)
        Else
            ToastMessageShow("Error uploading file prenotazioni", False)
        End If
    End If
    ftp.Close
End Sub
	Ho provato ha elinare gli spazi con trim ma non cambia nulla, Forse con Utf8 ma no so la sintassi per implementarlo, ho provato con ftp close
ma nulla cambia. Sicuramente sbaglio io ma non riesco a capirl, sono depresso