求助!datagrid的数据更新问题

clf830616 2006-04-26 06:18:18
在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

是哪里存在的错误,怎样解决呢?我被卡住了

...全文
143 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clf830616 2006-04-26
  • 打赏
  • 举报
回复
OK 解决了 多谢两位





kssys 2006-04-26
  • 打赏
  • 举报
回复
//这个地方有问题。WHERE前面没有空格

Dim ucmd As String = "update chengji set xuehao = @xuehao," & _
"kaoshishijian = @kaoshishijian,kemumingcheng = @kemumingcheng,kemufenshu = @kemufenshu,banjimingcheng = @banjimingcheng" & _
"where xingming = @xingming;"
kssys 2006-04-26
  • 打赏
  • 举报
回复
呵呵,WHERE前面少了个空格,仔细点哦。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧