Dunque, da quanto vedo nel primo codice gli errori sono due:
Dim ds As New DataSet()
Dim con As New SqlCeConnection("Data Source =\Programmi\LucaTest\OS1.sdf;")
con.Open()
Dim Sql As String = "SELECT * FROM Articoli"
Dim cmd As New SqlCeCommand(Sql, con)
Dim SqlINS As String = "insert into Articoli values('valore 1','valore 2') "
cmd.CommandText = SqlINS
cmd.ExecuteNonQuery()
con.Close()
Primo errore
manca il Provider nella stringa di connessione, ovvero il riferimento al motere db a cui ti appoggi. L'struzione corretta è "Provider= nome del motore database ; Data Source=path del db da aprire"
Esempio: "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=path-mio-db"
Scusa ma non ritrovo la nomenclatura per il server Sql.
Secondo errore
l'istruzione di INSERT che prevede dopo il nome tabella la sequenza dei nomi delle colonne in cui inserire i valori. L'istruzione corretta è "INSERT INTO Articoli (colname1,colname2) VALUES('valore 1','valore 2');".
Il secondo codice risente del primo errore, in quanto nella dichiarazione
Dim con As New SqlCeConnection("Data Source =\Programmi\LucaTest\OS1.sdf;")
continua a mancare il Provider.
Spero di esserti stato utile .. e di non aver detto cavolate
Titus