Hi Folks,
This is my first post here so forgive me if I am not following any correct protocols. I am attempting to generate a DataSet and bind it to a datarepeater object. I had been doing this at Design Time and was getting an error message when filling the dataset when the form loaded. So I am basically createing the dataset in my code now when the form loads and binding it to the datarepeater. However, when I attempt to bind the dataset I get a NullReferenceException - even through I know that there are 60 rows of data in the dataset table.
My code at the moment is as follows:
As you can see i have several debug messages in there. I get the error on the last line when setting the datarepeater data source. I try and get data for a specified lot - if it doesn't return any values I create some values in the datatable and add them to the DB. On first load when there is no data this works perfectly. If I then close the form and reload it, it will display fine. However, if I change any of the data (database is updated) and then go back in again, I get the error above.
It is baffling me and I would appreciate any advice you can give me.:dispirited:
This is my first post here so forgive me if I am not following any correct protocols. I am attempting to generate a DataSet and bind it to a datarepeater object. I had been doing this at Design Time and was getting an error message when filling the dataset when the form loaded. So I am basically createing the dataset in my code now when the form loads and binding it to the datarepeater. However, when I attempt to bind the dataset I get a NullReferenceException - even through I know that there are 60 rows of data in the dataset table.
My code at the moment is as follows:
' Initialise the command object desCommand = New OdbcCommand() desCommand.Connection = desConnection ' Define DataAdapter and DataTable objects Dim da As New OdbcDataAdapter ' Define SQL Command to retreive data for specified lot With desCommand .CommandText = "SELECT [Lot Number], [Stent Number], [Mechanical Damage], [BMS Weight], [Visual Inspection 1], [Coated Weight 1], [Drug Mass 1], " & _ "[Visual Inspection 2], [Coated Weight 2], [Drug Mass 2], [Visual Inspection 3], [Coated Weight 3], [Drug Mass 3], [Parylene Fixture ID], " & _ "[Parylene Visual Inspection], [Post Parylene Weight], [Parylene Weight] " & _ "FROM [Lot Data] " & _ "WHERE ([Lot Number] = '" & SelectLotForm.lotnumber & "') " & _ "ORDER BY [Stent Number]" .Connection = desConnection End With ' Fill the dataset with data MessageBox.Show(desCommand.CommandText) da.SelectCommand = desCommand da.Fill(ds) MessageBox.Show("Num Tables: " & ds.Tables.Count) MessageBox.Show("Num Rows: " & ds.Tables(0).Rows.Count) ' Did the query return any data If ds.Tables(0).Rows.Count = 0 Then ' Define datarow variable Dim newDesRow As DataRow ' Add a row for each stent in the lot For i As Integer = 1 To SelectLotForm.lotqty ' Create a new data table row newDesRow = ds.Tables(0).NewRow() ' Add Lot Number and stent number newDesRow("Lot Number") = SelectLotForm.lotnumber newDesRow("Stent Number") = i newDesRow("Mechanical Damage") = False ' Add data row to the table ds.Tables(0).Rows.Add(newDesRow) ' Insert record into the database desCommand.CommandText = "INSERT INTO [Lot Data] ([Lot Number], [Stent Number], [Mechanical Damage], [Visual Inspection 1], [Visual Inspection 2], [Visual Inspection 3], [Parylene Fixture ID], [Parylene Visual Inspection]) VALUES('" & SelectLotForm.lotnumber & "', " & i & ", false, '', '', '', '', '')" desCommand.ExecuteNonQuery() Next End If ' Bind the DataRepeater object to the datatable DataRepeater1.DataSource = ds.Tables(0)
As you can see i have several debug messages in there. I get the error on the last line when setting the datarepeater data source. I try and get data for a specified lot - if it doesn't return any values I create some values in the datatable and add them to the DB. On first load when there is no data this works perfectly. If I then close the form and reload it, it will display fine. However, if I change any of the data (database is updated) and then go back in again, I get the error above.
It is baffling me and I would appreciate any advice you can give me.:dispirited: