新手问一个datagrid简单问题>?

zhongwancheng 2003-09-12 09:49:08
修改代码如下:
Sub edits(ByVal sender As System.Object, ByVal e As DataGridCommandEventArgs)
'DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.EditItemIndex = CInt(e.Item.ItemIndex)
bind("2003-8-24")
End Sub
Sub cancels(ByVal sender As System.Object, ByVal e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = -1
bind("2003-8-24")
End Sub
Sub updates(ByVal sender As System.Object, ByVal e As DataGridCommandEventArgs)
Dim myconnection As OleDbConnection
Dim mycommand As OleDbCommand
Dim textbox1
Dim worder_name As String
STR = "PROVIDER=SQLOLEDB;DATA SOURCE=localhost;UID=pms_db;PWD=zhong7829151;DATABASE=pms_db"
myconnection = New OleDbConnection(STR)
Dim updatecmd As String = "update guapifeng set worder_name=@worder_name where id=432"
mycommand = New OleDbCommand(updatecmd, myconnection)
mycommand.Parameters.Add(New OleDbParameter("@worder_name", OleDbType.VarChar))
TextBox1 = e.Item.Cells(1).Controls(0)
mycommand.Parameters("@worder_name").Value = textbox1.Text
mycommand.Connection.Open()
mycommand.ExecuteNonQuery()
mycommand.Connection.Close()
bind("2003-8-24")

End Sub
异常详细信息: System.Data.OleDb.OleDbException: 必须声明变量 '@worder_name'。
请问是什么问题?


...全文
49 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hovereagle 2003-09-12
  • 打赏
  • 举报
回复
试试:
dim strtest as string = ctype(e.Item.Cells(1).Controls(0),textbox).text
mycommand.Parameters.Add("@worder_name",strtest)
zhongwancheng 2003-09-12
  • 打赏
  • 举报
回复
还是没有解决问题.
wantchy 2003-09-12
  • 打赏
  • 举报
回复
因为你取错了值!瞧 OK521(拉登陪我打CS) 说的就是你根本的原因!我只是在此基础上发挥了一下!
hovereagle 2003-09-12
  • 打赏
  • 举报
回复
我一般这样使用:
mycommand.Parameters.Add("@worder_name",textbox1.Text)
而且此句TextBox1 = e.Item.Cells(1).Controls(0)
是不是应改成dim strtest as string = ctype(e.Item.Cells(1).Controls(0),textbox).text

wantchy 2003-09-12
  • 打赏
  • 举报
回复
你这样肯定出问题,我看了代码,没有错误,而是你理解datagrid的错误,你设定的有button控件对不对,那么一个控件就要占一个单元格,所以,看你的程序我想你至少设定了两个按钮,那么你必须从2开始读书据(空出0和1单元格)所以应为e.Item.Cells(2).Controls(0),注意了:update 和cancel是共占一个单元格的!
acewang 2003-09-12
  • 打赏
  • 举报
回复
改成:#2003-8-24#
acewang 2003-09-12
  • 打赏
  • 举报
回复
Access数据库:2003-8-24
OK521 2003-09-12
  • 打赏
  • 举报
回复
如果没有给@worder_name付植,也会提是这样的错误
仙人掌 2003-09-12
  • 打赏
  • 举报
回复
worder_name = @worder_name

这样试一试

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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