Salve a tutti, premetto che sono un neofita di vb e vb con database, espongo il mio problema: ho creato una piccola applicazione che legge la temperatura da un sensore usb; io volevo memorizzare questo valore variabile in un database SQl. Allora usando i wizard di studio ho creato il mio database (acquario.sdf), il mio dataset (acquarioDataSet), la mia tabella (temperatura) con all'interno 3 colonne, Numeroprogressivo, Data_ora e Valoretemperatura. La prima colonna è univoca, chiave primaria e parte dal numero 1, la seconda è Datatime e la terza float.
Leggo la temperatura attraverso un timer impostato a 1 sec e questa viene visualizzata correttamente nella label nel form1 e nell'output del debug; il problema è che questa non viene memorizzata correttamente nel database. Qui viene riportato solo il valore iniziale appena viene caricato il form1. Non sono riuscito a capire il perchè: posto il codice del timer:
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Me.Button1Stop.Enabled = True
Me.Start.Enabled = False
Dim hDevice As IntPtr = Rding.OpenUSBDevice(vid, pid)
If (hDevice.ToInt32 = -1) Then
Me.Button1Stop.Enabled = False
Me.Start.Enabled = True
Me.richTextBox_log.AppendText((New RDingHelp().getCurrentTime & " " & ChrW(10)))
Else
Me.Timer1.Enabled = True
Call letturatemperatura(internal)
scritturafile()
Thread.Sleep(100)
Dim provare As String
provare = DateTime.Now
TemperaturaTableAdapter.InsertQuery(provare, internal)
TemperaturaTableAdapter.Fill(AcquarioDataSet.tempe ratura)
Debug.WriteLine(provare, internal)
End If
End Sub
Ah dimenticavo, nel campo data_ora non riesco in nessun modo a vedere l'ora in secondi, visualizzo la dat e l'ora ma senza i secondi; in questo caso ho provato sia ad usare la proprietà datatime sia stringa nvarchar ma sempre con gli stessi risultati
Grazie a tutti quelli che mi risponderanno