求助!datagrid的数据更新问题
在DATAGRID中加入了编辑-更新-取消按纽
进行更新的程序
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
Dim ucmd As String = "update chengji set xuehao = @xuehao," & _
"kaoshishijian = @kaoshishijian,kemumingcheng = @kemumingcheng,kemufenshu = @kemufenshu,banjimingcheng = @banjimingcheng" & _
"where xingming = @xingming;"
Dim myc As New SqlCommand(ucmd, mycon)
myc.Parameters.Add(New SqlParameter("@xingming", SqlDbType.NVarChar))
myc.Parameters.Add(New SqlParameter("@xuehao", SqlDbType.NVarChar))
myc.Parameters.Add(New SqlParameter("@kaoshishijian", SqlDbType.NVarChar))
myc.Parameters.Add(New SqlParameter("@kemumingcheng", SqlDbType.NVarChar))
myc.Parameters.Add(New SqlParameter("@kemufenshu", SqlDbType.NVarChar))
myc.Parameters.Add(New SqlParameter("@banjimingcheng", SqlDbType.NVarChar))
myc.Parameters("@xingming").Value = DataGrid1.DataKeys(e.Item.ItemIndex)
Dim cols As String() = {"@xuehao", "@kaoshishijian", "@kemumingcheng", "@kemufenshu", "@banjimingcheng"}
Dim numcols As Integer = e.Item.Cells.Count
Dim i As Integer
For i = 3 To numcols
Dim colvalue As String = CType(e.Item.Cells(i - 1).Controls(0), TextBox).Text
myc.Parameters(cols(i - 3)).Value = colvalue
Next
myc.Connection.Open()
myc.ExecuteNonQuery()
DataGrid1.EditItemIndex = -1
myc.Connection.Close()
bindgrid()
End Sub
更新按纽运行后的错误提示是
异常详细信息: System.Data.SqlClient.SqlException: 必须声明变量 '@banjimingchengwhere'。
源错误:
行 73: Next
行 74: myc.Connection.Open()
行 75: myc.ExecuteNonQuery()
行 76: DataGrid1.EditItemIndex = -1
行 77: myc.Connection.Close()
源文件: c:\inetpub\wwwroot\main\WebFormguanli.aspx.vb 行: 75
我这里只用到了chengji表,chengji中表项为xingming,xuehao,kaishishijian,kemumingcheng,kemufenshu,banjimingcheng
是哪里存在的错误,怎样解决呢?我被卡住了