Ho un problema con la gestione di due tabelle in un unico database .sdf
Il problema che mi si presenta è quello di dovere gestire due tabelle nel mio pocket pc, il codice che stò usando è il seguente: premetto che se lo utilizzo con una sola tabella fila liscio cioè:
End Subcodice:Private Sub BindText() txtgiorno.DataBindings.Clear() txtEntrata.DataBindings.Clear() txtUscita.DataBindings.Clear() TextBox3.DataBindings.Clear() txtgiorno.DataBindings.Add("Text", dataSet.Tables(0), "Giorno") txtEntrata.DataBindings.Add("Text", dataSet.Tables(0), "Entrata") txtUscita.DataBindings.Add("Text", dataSet.Tables(0), "Uscita") TextBox3.DataBindings.Add("Text", dataSet.Tables(0), "Totale")
ma se utilizzo così questo mi và in errore con messaggio di There is a file sharing violation. A different process might be using the file. [,,,,,]
codice:Private Sub BindText() txtgiorno.DataBindings.Clear() txtEntrata.DataBindings.Clear() txtUscita.DataBindings.Clear() TextBox3.DataBindings.Clear() txtgiorno.DataBindings.Add("Text", dataSet.Tables(0), "Giorno") txtEntrata.DataBindings.Add("Text", dataSet.Tables(0), "Entrata") txtUscita.DataBindings.Add("Text", dataSet.Tables(0), "Uscita") TextBox3.DataBindings.Add("Text", dataSet.Tables(0), "Totale") '****************************** txtnumero.DataBindings.Clear() txtEntrata.DataBindings.Clear() CboAltro.DataBindings.Clear() txtResiduo.DataBindings.Clear() txtRimanenza.DataBindings.Clear() txtnumero.DataBindings.Add("Text", dataSet.Tables(0), "Giorni") txtData.DataBindings.Add("Text", dataSet.Tables(0), "Data") CboAltro.DataBindings.Add("Text", dataSet.Tables(0), "Altro") txtResiduo.DataBindings.Add("Text", dataSet.Tables(0), "Residuo") txtRimanenza.DataBindings.Add("Text", dataSet.Tables(0), "Rimanenza") End Subcodice:Imports System.Data.SqlServerCe Public Class Form1 Inherits System.Windows.Forms.Form Private dataAdapter As SqlCeDataAdapter Private dataSet As DataSet Private Const db = "\My Documents\ore.sdf" Private Sub BindText() txtgiorno.DataBindings.Clear() txtEntrata.DataBindings.Clear() txtUscita.DataBindings.Clear() TextBox3.DataBindings.Clear() txtgiorno.DataBindings.Add("Text", dataSet.Tables(0), "Giorno") txtEntrata.DataBindings.Add("Text", dataSet.Tables(0), "Entrata") txtUscita.DataBindings.Add("Text", dataSet.Tables(0), "Uscita") TextBox3.DataBindings.Add("Text", dataSet.Tables(0), "Totale") '****************************** txtnumero.DataBindings.Clear() txtEntrata.DataBindings.Clear() CboAltro.DataBindings.Clear() txtResiduo.DataBindings.Clear() txtRimanenza.DataBindings.Clear() txtnumero.DataBindings.Add("Text", dataSet.Tables(0), "Giorni") txtData.DataBindings.Add("Text", dataSet.Tables(0), "Data") CboAltro.DataBindings.Add("Text", dataSet.Tables(0), "Altro") txtResiduo.DataBindings.Add("Text", dataSet.Tables(0), "Residuo") txtRimanenza.DataBindings.Add("Text", dataSet.Tables(0), "Rimanenza") End Sub Private Function ExecSql(ByVal sql As String) As Boolean Dim cn As New SqlCeConnection("Data Source=" + db) Dim cmd As New SqlCeCommand(sql, cn) cmd.CommandType = CommandType.Text Try cn.Open() cmd.ExecuteNonQuery() cmd.Dispose() cn.Close() Return True Catch ex As Exception Return False End Try End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtgiorno.Text = Format((Now), "dd/MM/yy") txtData.Text = Format((Now), "dd/MM/yy") If (System.IO.File.Exists(db)) Then Dim cn As New SqlCeConnection("Data Source=" + db) Dim commandBuilder As SqlCeCommandBuilder dataAdapter = New SqlCeDataAdapter("Select * from ore order by Giorno asc", cn) commandBuilder = New SqlCeCommandBuilder(dataAdapter) dataSet = New DataSet dataAdapter.Fill(dataSet) Application.DoEvents() DataGrid1.DataSource = dataSet.Tables(0) ComboBox1.DataSource = dataSet.Tables(0) ComboBox1.DisplayMember = "Giorno" BindText() Else Dim create As String Dim eng As SqlCeEngine eng = New SqlCeEngine("Data Source=" + db) eng.CreateDatabase() create = "CREATE TABLE ore(Giorno nvarchar(20) PRIMARY KEY not null,Entrata nvarchar(20) not null,Uscita nvarchar(30) not null,Totale nvarchar(30) not null)" ExecSql(create) Me.Close() End If End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged ExecSql("INSERT INTO ferie VALUES ('" & Me.txtData.Text & "','" & Me.txtnumero.Text & "','" & Me.CboAltro.Text & "','" & Me.txtResiduo.Text & "','" & Me.txtRimanenza.Text & "')") RadioButton1.Checked = False Dim cn As New SqlCeConnection("Data Source=" + db) Dim commandBuilder As SqlCeCommandBuilder dataAdapter = New SqlCeDataAdapter("Select * from ferie", cn) commandBuilder = New SqlCeCommandBuilder(dataAdapter) dataSet = New DataSet dataAdapter.Fill(dataSet) DataGrid3.DataSource = dataSet.Tables(0) BindText() End Sub End Class

Rispondi quotando
