ragazzi mi date un'occhiata a questo codice?
togliete pure quello che ovviamente non trova (i dati nella gridview) ....
mi genera un errore nel nome del database che prima (una settimana fa') non mi triggerava ....
Public Sub Button_SavePlaylist_Click()
Dim vConnessione As New Connection
Dim vPercorso As String ' variabile per il percorso in cui creare il db
Dim vDatabase As String ' variabile per il nome che diamo al database
Dim vTabella As Table
Dim vTabellaUno As String ' variabile per la creazione della tabella UNO e dei campi
Dim vTabellaDue As String ' variabile per la creazione della tabella DUE e dei campi
Dim vRisultato As Result
Dim I As Integer
If GridView_Media.Rows.Count = 0 Then Return
Dialog.Path = "Playlist_" & Format(Now, "yyyymmdd-hhnnss") & ".sqlite3"
Dialog.Filter = ["*.sqlite;*.sqlite3", "sqlite format database files"]
If Dialog.SaveFile() Then
Return
Endif
'se siamo qui' allora abbiamo deciso di creare un nuovo file per la playlist
If File.Ext(Dialog.Path) = "" Then
Dialog.Path = Dialog.Path & ".sqlite3"
Endif
vPercorso = File.Dir(Dialog.Path) ' definisce il percorso del database
vDatabase = File.Name(Dialog.Path) ' definisce il nome del database
vTabellaUno = "CREATE TABLE 'PlaylistContent'" & ' nome della tabella e dei campi che si andrà a creare
"('id' INTEGER PRIMARY KEY," & ' chiave primaria
"'Time' VARCHAR(8) Default Null," & 'nome del campo, tipo e valore predefinito
"'Path' VARCHAR(55) Default Null," &
"'MediaType' VARCHAR(20) Default Null," & 'STATUS e' una proprieta' locale che viene definita al caricamento
"'lenght' VARCHAR(20) Default Null," &
"'WARN' VARCHAR(55) Default Null);" 'MEDIA e' una proprieta' locale che viene definita al caricamento
With vConnessione
.Type = "sqlite3" ' indicazione del tipo di database da utilizzare
.Host = vPercorso
.Login = ""
.Password = ""
End With
If Exist(Dialog.Path) Then ' esiste il file della playlist, chiedo se cancellarlo o meno
Select Case Message.Question("Do you want to overwrite playlist file?", "YES", "NO", "CANCEL")
Case 2
Return
Case 3 'in ogni altro caso esco dalla procedura (verificare se devo comunque riscrivere STOP
Return
End Select
End If
'se siamo qui' vogliamo scrivere il file della playlist
vConnessione.Open() ' apre la connessione
If Not vConnessione.Databases.Exist(vDatabase) Then ' verifica che il db non esista già
vConnessione.Databases.Add(vDatabase) ' crea il database
vConnessione.Close() ' chiude la connessione
vConnessione.Name = vDatabase ' alla connessione assegna il nome del database
vConnessione.Open() ' riapre la connessione
vRisultato = vConnessione.Exec(vTabellaUno) ' aggiunge al database la tabella con i campi, come sopra definito
Wait 1
For i = 0 To GridView_Media.Rows.Count - 1
'inserisci un nuovo record per ogni riga
vRisultato = vConnessione.Create("PlaylistContent")
vRisultato["id"] = i
vRisultato["Time"] = GridView_Media[i, 0].Text
vRisultato["Path"] = GridView_Media[i, 1].Text
vRisultato["MediaType"] = GridView_Media[i, 2].Text
vRisultato["lenght"] = GridView_Media[i, 4].Text
vRisultato["WARN"] = GridView_Media[i, 5].Text
vRisultato.Update
vConnessione.Commit
Next
Endif
vConnessione.Close() 'chiude la connessione
Message.Info("Playlist file created in:" & gb.crlf & Dialog.Path, "ok")
End