Ciao....
Sotto ho riportato tre parti del mio programma
la 1° crea una tabella
la 2° inserisce i dati
la 3° mostra i dati salvati
purtroppo i dati non riesco a visualizzarli, probabilmente perche sbaglio qualcosa nell'immissione o nel caricamento..
Potreste guardare dove sbaglio... grazie
Sub creaDB()
Dim nome As String
nome = "\My Documents\ListaArticoliCtrInv.sdf"
' se il DB esiste lo elimina e ne crea uno nuovo
If File.Exists(nome) Then
File.Delete(nome)
End If
' crea un DB nuovo
Dim sqlEngine As New SqlCeEngine("Data Source = " + nome)
sqlEngine.CreateDatabase()
Dim com As SqlCeCommand
Dim cn As SqlCeConnection
nome = "Data Source = \My Documents\ListaArticoliCtrInv.sdf"
Try
cn = New SqlCeConnection(nome)
cn.Open()
Dim strSQL As String
strSQL = "CREATE TABLE Articoli (NomeImpostazione NVarChar(13),Progressive SmallInt,Articolo NVarChar(13),Quantita SmallInt,CodUbicazione NVarChar(13),Utente NVarChar(13),Data NVarChar(13),NrRif NVarChar(13))"
com = cn.CreateCommand
com.CommandText = strSQL
com.ExecuteNonQuery()
cn.Close()
Catch ex As SqlCeException
'se si sono verificati errori
MsgBox(ex.ToString())
Finally
'chiudiamo sempre le connessioni
If ConnectionState.Open Then
cn.Close()
End If
End Try
End Sub
Sub salvainDB()
Dim nome As String
Dim cod As String
nome = "\My Documents\ListaArticoliCtrInv.sdf"
cod = Text2.Text + Mid(CStr(Today), 7, 4) + Mid(CStr(Today), 4, 2) + Mid(CStr(Today), 1, 2)
Dim cn As SqlCeConnection
If Text1.Text = "" Or Text5.Text = "" Then
List1.Items.Add("Inserire tutti i valori001")
End If
Try
If File.Exists(nome) Then
If Text1.Text <> "" And Text5.Text <> "" Then
' creo la connessione
nome = "Data Source = \My Documents\ListaArticoliCtrInv.sdf"
cn = New SqlCeConnection(nome)
cn.Open()
' creo il comando da quella connessione
Dim com As SqlCeCommand = cn.CreateCommand()
' imposto la stringa dello statement SQL marcando con la @ i parametri
Dim strSQL As String
strSQL = "INSERT INTO Articoli (NomeImpostazione,Progressive,Articolo,Quantita,Co dUbicazione,Utente,Data,NrRif) VALUES (@p1,@p2,@p3,@p4,@p5,@p6,@p7,@p8)"
' creo i parametri del comando
com.Parameters.Add("@p1", SqlDbType.NVarChar).Value = cod
com.Parameters.Add("@p2", SqlDbType.SmallInt).Value = "001"
com.Parameters.Add("@p3", SqlDbType.NVarChar).Value = Text1.Text
com.Parameters.Add("@p4", SqlDbType.SmallInt).Value = Text5.Text
com.Parameters.Add("@p5", SqlDbType.NVarChar).Value = Text3.Text
com.Parameters.Add("@p6", SqlDbType.NVarChar).Value = Text4.Text
com.Parameters.Add("@p7", SqlDbType.NVarChar).Value = Today
com.Parameters.Add("@p8", SqlDbType.NVarChar).Value = ""
' imposto sql statement e tipo di comando
com.CommandText = strSQL
'com.CommandType = CommandType.Text
' eseguo senza ritornare parametri
com.ExecuteNonQuery()
List1.Items.Add("forse funge")
cn.Close()
End If
If Text1.Text = "" Or Text5.Text = "" Then
List1.Items.Add("Inserire tutti i valori")
End If
End If
Catch
List1.Items.Add("qualche errore")
End Try
End Sub
Sub caricaDB()
' creo la connessione
Dim cn As SqlCeConnection
Dim nome As String
nome = "Data Source = \My Documents\ListaArticoliCtrInv.sdf"
cn = New SqlCeConnection(nome)
cn.Open()
' creo il comando da quella connessione
Dim com As SqlCeCommand = cn.CreateCommand()
' imposto la stringa dello statement SQL marcando con la @ i parametri
Dim strSQL As String
strSQL = "SELECT NomeImpostazione,Articolo,Quantita FROM Articoli"
com.CommandText = strSQL
Dim reader As SqlCeDataReader
reader = com.ExecuteReader
ListView1.Clear()
ListView1.Columns.Add("NomeImpostazione", -1, HorizontalAlignment.Center)
ListView1.Columns.Add("Articolo", 150, HorizontalAlignment.Left)
ListView1.Columns.Add("Quantita", -1, HorizontalAlignment.Center)
While reader.Read
Dim ls As New ListViewItem(reader.Item("NomeImpostazione").ToStr ing)
ls.SubItems.Add(reader.Item("Articolo").ToString)
ls.SubItems.Add(reader.Item("Quantita").ToString)
ListView1.Items.Add(ls)
End While
cn.Close()
End If
End Sub