救命啊,DATAGRID中更新数据出现“指定控件转换无效”
哪位大侠给指导一下,谢谢了!
代码:
Private Sub ResourceInList_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles ResourceInList.UpdateCommand
Dim shebeibianhao, shebeimingcheng, shebeiguige, lingyongbumen, lingyongren, lingyongriqi, bdbh As TextBox
bdbh = e.Item.Cells(0).Controls(0)
shebeibianhao = e.Item.Cells(1).Controls(0)
shebeimingcheng = e.Item.Cells(2).Controls(0)
shebeiguige = e.Item.Cells(3).Controls(0)
lingyongbumen = e.Item.Cells(4).Controls(0)
lingyongren = e.Item.Cells(5).Controls(0)
lingyongriqi = e.Item.Cells(6).Controls(0)
Dim myConn As New SqlClient.SqlConnection
Dim myCmd As New SqlClient.SqlCommand
Dim myDataAdapter As New SqlClient.SqlDataAdapter
Dim connstr As String
connstr = ConfigurationSettings.AppSettings("dsn")
myConn.ConnectionString = connstr
myConn.Open()
myCmd.CommandText = "update tblshebeilingyong set shebeibianhao=@shebeibianhao,shebeimingcheng=@shebeimingcheng,shebeiguige=@shebeiguige,lingyongbumen=@lingyongbumen,lingyongyuangong=@lingyongren,lingyongriqi=@lingyongriq where bdbh=@bdbh"
myCmd.Parameters.Clear()
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeibianhao", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeimingcheng", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeiguige", SqlDbType.VarChar, 200))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@shebeizhuangtai", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongriqi", SqlDbType.SmallDateTime, 4))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongbumen", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@lingyongren", SqlDbType.VarChar, 50))
myCmd.Parameters.Add(New SqlClient.SqlParameter("@bdbh", SqlDbType.VarChar, 50))
myDataAdapter.SelectCommand.Parameters("@shebeibianhao").Value = Trim(shebeibianhao.Text)
myDataAdapter.SelectCommand.Parameters("@shebeimingcheng").Value = Trim(shebeimingcheng.Text)
myDataAdapter.SelectCommand.Parameters("@shebeiguige").Value = Trim(shebeiguige.Text)
myDataAdapter.SelectCommand.Parameters("@lingyongriqi").Value = Trim(lingyongriqi.Text)
myDataAdapter.SelectCommand.Parameters("@lingyongbumen").Value = Trim(lingyongbumen.Text)
myDataAdapter.SelectCommand.Parameters("@lingyongren").Value = Trim(lingyongyuangong.Text)
myDataAdapter.SelectCommand.Parameters("@bdbh").Value = ResourceInList.DataKeys.Item(e.Item.ItemIndex)
myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()
ResourceInList.EditItemIndex = -1
BindResourceInData()
End Sub
--------------------------------------------------------------------------------
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 指定的转换无效。
源错误:
行 192: Private Sub ResourceInList_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles ResourceInList.UpdateCommand
行 193: Dim shebeibianhao, shebeimingcheng, shebeiguige, lingyongbumen, lingyongren, lingyongriqi, bdbh As TextBox
行 194: bdbh = e.Item.Cells(0).Controls(0)
行 195: shebeibianhao = e.Item.Cells(1).Controls(0)
行 196: shebeimingcheng = e.Item.Cells(2).Controls(0)