Έχω το εξής θέμα: Θέλω σε μια φόρμα να φτιάξω Δελτίο Εισαγωγής σε αποθήκη, οπότε θέλω να συμπληρώνω τα στοιχεία του δελτίου σε 2 textboxes και 1 DateTimePicker και να περνάνε στο αντίστοιχο DataTable ο οποίος έχει και ένα ακόμα πεδίο που γίνεται AutoIncrement. Τα textbox και ο picker έχουν γίνει bind μέσα από τον Designer στα αντίστοιχα columns. O παρακάτω κώδικας εκτελείται κατά τη φόρτωση της Φόρμας
Dim dcol(1) As DataColumn
DeltioDataTable = Me.APOTHIKIDataSet.D_EISAG
dcol(0) = DeltioDataTable.Columns("AA")
DeltioDataTable.PrimaryKey = dcol
Dim drow As DataRow
drow = DeltioDataTable.NewRow
DeltioDataTable.Rows.Add(drow)
Me.DEISAGBindingSource.Filter() = "AA=" & newid 'filter για να εμφανίζεται μόνο η γραμμή του νέου Δελτίου στα bound textboxes
και ο παρακάτω κώδικας όταν κάνω αποθήκευση του Δελτίου
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Try
Me.Validate()
DEISAGBindingSource.EndEdit()
Me.D_EISAGTableAdapter.Update(Me.APOTHIKIDataSet.D_EISAG)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Παρόλ΄αυτά όταν αποθηκεύεται το καινούριο δελτίο, το AutoIncrement υπάρχει αλλά τα πεδία των TextBoxes και της ημερομηνίας είναι Null
Μάλλον πάω να κάνω κάτι πολύπλοκο αλλά δεν ξέρω πως να προσθέσω μια καινούρια γραμμή στο DeltioDataTable τα πεδία της οποίας να μπορούν να αλλάξουν αυτόματα από τη φόρμα. Μήπως να κάνω κανένα πιο παλιομοδίτικο INSERT στη βάση με ExecuteNonQuery?
Ευχαριστώ!