2 vragen voor tijdens starten applicatie (vb2010)

Status
Niet open voor verdere reacties.

drla2004

Gebruiker
Lid geworden
16 nov 2004
Berichten
26
Het gaat om de volgende 2 vragen:

Ik maak een programma met vb2010. Ik laat tijdens het opstarten het programma controleren of er verbinding is met de online database, indien dit niet het geval is wordt er een bericht weergegeven en sluit het programma zich, de melding wordt weergegeven maar er opent zich ook een splashscreen en deze sluit zich niet.
Eigenlijk zou de splashscreen niet moeten laden (wanneer de verbinding met de database niet kan worden gemaakt).

Hier is de code die ik daarvoor gebruik:
Code:
Private Sub MyApplication_Startup(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
            If My.Computer.Network.IsAvailable Then
                If My.Computer.Network.Ping("195.128.174.38") Then
                    Dim splash As StartScreen1 = CType(My.Application.SplashScreen, StartScreen1)
                Else
                    Dim result As DialogResult = MessageBox.Show("Host is not available!" & vbNewLine & _
                                    "Make sure you have an internet connection and try again later!", _
                                    "Songlist Editor", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                    If result <> DialogResult.OK Then
                        Me.HideSplashScreen()
                        e.Cancel = True
                    End If
                End If
            Else
                Dim result As DialogResult = MessageBox.Show("There is no internet connection!" & vbNewLine & _
                                    "Make sure you have an internet connection and try again later!", _
                                    "Songlist Editor", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                If result <> DialogResult.OK Then
                    Me.HideSplashScreen()
                    e.Cancel = True
                End If
            End If
        End Sub

En de tweede vraag:

Ik wil (indien er verbinding met de online database is) tijdens het laden van de splashscreen een copie van de online database in een lokale database, er gebeurd nu niks.
Hier is de code die ik daar nu voor gebruik:
Code:
SQL = "SELECT * FROM songs"
Try
con.Open()
mycommand.Connection = con
mycommand.CommandText = SQL
myadapter.SelectCommand = mycommand
myadapter.Fill(mydataset, "songs")
accesscon.Open()
Accessadapter.Update(mydataset, "songs")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Hopelijk kunnen jullie me helpen.

Alvast bedankt
 
Ik heb het al opgelost door
Code:
If result <> DialogResult.OK Then

te veranderen in:
Code:
If result = DialogResult.OK Then
 
Alleen de vraag over het kopieeren van de online database naar de lokale MS Access database blijft over.
 
Ok, ik ben iets opgeschoten, nu kan ik de online database kopiëren naar de lokale database. Alleen is het probleem dat de database meerdere keren in de access database staat, ik wil eigenlijk dat deze eerst geleegd wordt voordat het kopiëren gebeurd.

Tevens wil ik een progressbar gebruiken om de voortgang te tonen voor het kopiëren.

Hier is de code die ik nu gebruik, hopelijk kunnen jullie me helpen:
Code:
Private Sub StartScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dt As New DataTable()

        'Get Data into DataTable from MySQL Server database    
        Using cnn As New MySqlConnection("Server=" + My.Settings.OnlineHost + ";Database=" + My.Settings.OnlinedbName + ";Uid=" + My.Settings.OnlineUser + ";Pwd=" + My.Settings.Onlinepw)
            Dim cmdSelect As MySqlCommand = New MySqlCommand("Select * From songs")
            cmdSelect.Connection = cnn
            Dim ad As New MySqlDataAdapter(cmdSelect)
            ad.AcceptChangesDuringFill = False
            ad.Fill(dt)
        End Using

        'Using cnn As New OleDbConnection("Provider=" + My.Settings.Offlineprovider + ";Data Source=" + My.Settings.AccesssourceOff)
        'Dim cmdDelete As OleDbCommand = New OleDbCommand("Delete * From songs")
        'cmdDelete.Connection = cnn
        'Dim ad As New OleDbDataAdapter(cmdDelete)
        'Dim cmdBuilder As New OleDbCommandBuilder(ad)
        'Dim cmd2 As OleDbCommand = cmdBuilder.GetDeleteCommand()
        'cmd2.Connection = cnn
        'ad.DeleteCommand = cmd2
        'End Using

        'Insert Data from DataTable into Access database  
        Using cnn As New OleDbConnection("Provider=" + My.Settings.Offlineprovider + ";Data Source=" + My.Settings.AccesssourceOff)
            Dim cmdSelect As OleDbCommand = New OleDbCommand("Select * From songs")
            cmdSelect.Connection = cnn
            Dim ad As New OleDbDataAdapter(cmdSelect)
            Dim cmdBuilder As New OleDbCommandBuilder(ad)
            Dim cmd As OleDbCommand = cmdBuilder.GetInsertCommand()
            cmd.Connection = cnn
            ad.InsertCommand = cmd
            ad.Update(dt)
            ProgressBar1.Value = ProgressBar1.Value + 1
        End Using
End Sub

Alvast bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan