Παναγιώτης Καναβός:
Δεν έχει καμμία σημασία αν η βάση βρίσκεται σε άλλο υπολογιστή. Για το ADO.NET είναι το ίδιο είτε η βάση βρίσκεται στον ίδιο είτε σε διαφορετικό υπολογιστή. Η καθυστέρηση μπορεί να οφείλεται επειδή μεταφέρεις πολλά δεδομένα, επειδή έχεις χαμηλή ταχύτητα σύνδεσης, ή επειδή τραβάς τα δεδομένα με αργό τρόπο.
Ναι το νγωρίζω. Και στις δύο περιπτώσεις η βάση βρίσκεται σε άλο υπολογιστή, σε server. Απλά στη μια περίπτωση όπου εκτελείται κανονικά, ο υπολογιστής που "τρέχει" την εφαρμογή είναι στο ίδιο δίκτυο με τον server (local), ενώ στην άλλη "βλέπει" το server από απομακρυσμένο σημείο μέσω Internet, με VPN. Σε ότι αφορά τα δεδομένα, αυτά είναι πολύ λίγα 2 έως 3 γραμμές του DataGridView.
Παναγιώτης Καναβός:
Όσον αφορά το NullReferenceException, πάλι δεν έχει σχέση με τη θέση της βάσης ή την καθυστέρηση. Κάποιο σφάλμα υπάρχει στον κώδικα σου αλλά δεν μπορεί να σε βοηθήσει κανείς χωρίς κάποια στοιχεία. Για παράδειγμα, πώς φορτώνεις τα δεδομένα? Χρησιμοποιείς data binding? Κάτι άλλο? Πού εμφανίζεται το NullReferenceException?
Ο κώδικας με τον οποίο γίνεται η συγκεκριμένη εργασία που προαναφέρω είναι ο εξής:
(Γέμισμα του dataGridView, εννοείται ότι έχουν γίνει οι σχετικές δηλώσεις των μεταβλητών, ότι το StoreProcedure εκτελείται κανονικά κλπ, εξάλου το παρακάτω λειτουργεί στην περίπτωση που προαναφέρω)
commandUPDTS.Connection = connectionString
commandUPDTS.CommandText = "PriceListUpdatesSTPR"
commandUPDTS.CommandType = CommandType.StoredProcedure
commandUPDTS.Parameters.Add("@ModelCode", SqlDbType.VarChar).Value = ModelCode
commandUPDTS.Connection.Open()
adapter.Fill(ds)
command.Connection.Close()
PriceListChangesDtGrdView.DataSource = ds.Tables(0).DefaultView
' Initialize the images.
Try
PriceUp = New Bitmap(My.Resources.ArrowUP)
PriceSteady = New Bitmap(My.Resources.Steady)
PriceDown = New Bitmap(My.Resources.ArrowDown)
Catch ex As ArgumentException
MessageBox.Show("The Priority column requires Bitmap images" & _
"named highPri.bmp, mediumPri.bmp, and lowPri.bmp " & _
"residing in the same directory as the executable file.")
End Try
' Prosthiki Stilis
If NewColumnsExists = False Then
AddCollumnToDtGrdView()
End If
(Αφού γεμίσω το DataGridView τότε σύμφωνα με τις τιμές που έχουν οι στήλες "PVC_F" και "ALU_F" προσθέτω DataGridViewImageColumn και αποκρύπτω αυτές που δεν χρειάζομαι)
Private Sub AddCollumnToDtGrdView()
Dim NewColPVC As New DataGridViewImageColumn
With NewColPVC
.Name = "PVC"
.DataPropertyName = "PVC"
.HeaderText = "PVC"
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End With
PriceListChangesDtGrdView.Columns.Insert(0, NewColPVC)
PriceListChangesDtGrdView.Columns("PVC_F").Visible = False ----> Το πρόβλημα εμφανίζεται εδώ
Dim NewColALU As New DataGridViewImageColumn
With NewColALU
.Name = "ALU"
.DataPropertyName = "ALU"
.HeaderText = "ALU"
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End With
PriceListChangesDtGrdView.Columns.Insert(3, NewColALU)
PriceListChangesDtGrdView.Columns("ALU_F").Visible = False ----> Και εδώ
NewColumnsExists = True
End Sub
Και επαναλαμβάνω και πάλι ότι εμφανίζεται μόνο όταν εκτελείται από απομακρυσμένο σημείο και μέσω VPN...
Ευχαριστώ και πάλι
"We appeal as human beings to human beings: Remember your humanity, and forget the rest." - Russell-Einstein Manifesto