nicks60610
MIS
I keep getting this error message:
The OleDbParameterCollection only accepts non-null OleDbParameter type objects, not String objects
And I have been searching online but cannot find anything relevant to explain what I am missing...
This is the code:
Sub DataGrid1_Update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim i As Integer
Dim DGI As DataGridItem
Dim SunderlandOnly As TextBox
Dim PcsInspected As TextBox
Dim PcsDefective As TextBox
Dim PcsSold As TextBox
Dim ProdComp As TextBox
Dim PcsSoldBF As TextBox
Dim ProdCompBF As TextBox
Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Quality Metrics Database.mdb"
Dim conMetrics As OleDbConnection = New OleDbConnection(connectString)
conMetrics.Open()
Dim strUpdateQuality As String
Dim dcmdUpdateQuality = New OleDb.OleDbCommand(strUpdateQuality, conMetrics)
strUpdateQuality = "UPDATE [All Plants Summary Data] SET [Sunderland Only] = ?, [Pieces Inspected] =?, [Pieces Defective] =?, [Pieces Sold] =?, [Product Complaints] =?, [Pieces Sold Big Flats] = ?, [Product Complaints Big Flats] =? where [Month] = '" & Session("Month") & "' and [Year] = '" & Session("Year") & "' and [Plant] = '" & Session("Plant") & "'"
For i = 0 To DataGrid1.Items.Count - 1
DGI = DataGrid1.Items(i)
SunderlandOnly = CType(DGI.FindControl("SunderlandOnly"), TextBox)
PcsInspected = CType(DGI.FindControl("PcsInspected"), TextBox)
PcsDefective = CType(DGI.FindControl("PcsDefective"), TextBox)
PcsSold = CType(DGI.FindControl("PcsSold"), TextBox)
ProdComp = CType(DGI.FindControl("ProdComp"), TextBox)
PcsSoldBF = CType(DGI.FindControl("PcsSoldBF"), TextBox)
ProdCompBF = CType(DGI.FindControl("ProdCompBF"), TextBox)
dcmdUpdateQuality.Parameters.Add("@Sunderland").Value = SunderlandOnly.Text
dcmdUpdateQuality.Parameters.Add("@PcsInsp").Value = PcsInspected.Text
dcmdUpdateQuality.Parameters.Add("@PcsDef").Value = PcsDefective.Text
dcmdUpdateQuality.Parameters.Add("@PcsSold").Value = PcsSold.Text
dcmdUpdateQuality.Parameters.Add("@ProdComp").Value = ProdComp.Text
dcmdUpdateQuality.Parameters.Add("@PcsSoldBF").Value = PcsSoldBF.Text
dcmdUpdateQuality.Parameters.Add("@ProdCompBF").Value = ProdCompBF.Text
Next
DataGrid1.EditItemIndex = -1
The OleDbParameterCollection only accepts non-null OleDbParameter type objects, not String objects
And I have been searching online but cannot find anything relevant to explain what I am missing...
This is the code:
Sub DataGrid1_Update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim i As Integer
Dim DGI As DataGridItem
Dim SunderlandOnly As TextBox
Dim PcsInspected As TextBox
Dim PcsDefective As TextBox
Dim PcsSold As TextBox
Dim ProdComp As TextBox
Dim PcsSoldBF As TextBox
Dim ProdCompBF As TextBox
Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Quality Metrics Database.mdb"
Dim conMetrics As OleDbConnection = New OleDbConnection(connectString)
conMetrics.Open()
Dim strUpdateQuality As String
Dim dcmdUpdateQuality = New OleDb.OleDbCommand(strUpdateQuality, conMetrics)
strUpdateQuality = "UPDATE [All Plants Summary Data] SET [Sunderland Only] = ?, [Pieces Inspected] =?, [Pieces Defective] =?, [Pieces Sold] =?, [Product Complaints] =?, [Pieces Sold Big Flats] = ?, [Product Complaints Big Flats] =? where [Month] = '" & Session("Month") & "' and [Year] = '" & Session("Year") & "' and [Plant] = '" & Session("Plant") & "'"
For i = 0 To DataGrid1.Items.Count - 1
DGI = DataGrid1.Items(i)
SunderlandOnly = CType(DGI.FindControl("SunderlandOnly"), TextBox)
PcsInspected = CType(DGI.FindControl("PcsInspected"), TextBox)
PcsDefective = CType(DGI.FindControl("PcsDefective"), TextBox)
PcsSold = CType(DGI.FindControl("PcsSold"), TextBox)
ProdComp = CType(DGI.FindControl("ProdComp"), TextBox)
PcsSoldBF = CType(DGI.FindControl("PcsSoldBF"), TextBox)
ProdCompBF = CType(DGI.FindControl("ProdCompBF"), TextBox)
dcmdUpdateQuality.Parameters.Add("@Sunderland").Value = SunderlandOnly.Text
dcmdUpdateQuality.Parameters.Add("@PcsInsp").Value = PcsInspected.Text
dcmdUpdateQuality.Parameters.Add("@PcsDef").Value = PcsDefective.Text
dcmdUpdateQuality.Parameters.Add("@PcsSold").Value = PcsSold.Text
dcmdUpdateQuality.Parameters.Add("@ProdComp").Value = ProdComp.Text
dcmdUpdateQuality.Parameters.Add("@PcsSoldBF").Value = PcsSoldBF.Text
dcmdUpdateQuality.Parameters.Add("@ProdCompBF").Value = ProdCompBF.Text
Next
DataGrid1.EditItemIndex = -1