佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 747|回复: 6

Update不了datagrid

[复制链接]
发表于 31-3-2006 08:53 PM | 显示全部楼层 |阅读模式
我有一个datagrid,当我按下edit button的时候,会有textbox出现,让我更改里面的资料。但是当我按update button的时候,那些资料却不会update到database里。这到底是怎么一回事?
谢谢帮忙。
以下是我的coding,请帮我看一看,看问题到底出在什么地方。谢谢。

Sub DataGrid1_EditCommand(sender As Object, e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub


Sub DataGrid1_UpdateCommand(sender As Object, e As DataGridCommandEventArgs)
Dim id As String = CType(e.Item.Cells(0).Controls(0), TextBox).Text
Dim str As String = CType(e.Item.Cells(1).Controls(0), TextBox).Text
Dim myConnection As New SqlConnection (ConfigurationSettings.AppSettings("ConnectionString"))
Dim cmdStr As String = "update Student set stuName=@stuName where stuId='"+id+"'"
Dim cmd As New SqlCommand (cmdStr, myConnection)
cmd.Parameters.Add("@stuName", SqlDbType.VarChar, 50).Value = str
myConnection.Open()
cmd.ExecuteNonQuery()
myConnection.Close()
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
回复

使用道具 举报


ADVERTISEMENT

热乎乎的冰淇淋 该用户已被删除
发表于 1-4-2006 11:53 PM | 显示全部楼层
你确定 database 里真的没 update 吗, 还是 datagrid 里没有 display 出来而已。

有没有其他的 error message? 你 web form design 可以放出来吗?
回复

使用道具 举报

 楼主| 发表于 2-4-2006 09:55 AM | 显示全部楼层
原帖由 热乎乎的冰淇淋 于 1-4-2006 11:53 PM 发表
你确定 database 里真的没 update 吗, 还是 datagrid 里没有 display 出来而已。

有没有其他的 error message? 你 web form design 可以放出来吗?


database里真的没有update到。
没有error message,就是update不了data。
web form design就是很普通的一个datagrid,里面加入了edit, cancel, update button。
当我按edit button的时候,cancel button和update button会取代edit button,cancel button可以function,但是就是update button function不了。我觉得coding应该没有错,但是就是不明白到底为什么会update不了。
请问除了需要hard code以外,html那儿需要加什么code吗?
谢谢。
回复

使用道具 举报

热乎乎的冰淇淋 该用户已被删除
发表于 2-4-2006 10:46 AM | 显示全部楼层
这一行:

Dim cmdStr As String = "update Student set stuName=@stuName where stuId='"+id+"'"

因该是

Dim cmdStr As String = "update Student set stuName=@stuName where stuId='" & id & "'"

还有这一行:
Dim id As String = CType(e.Item.Cells(0).Controls(0), TextBox).Text
DataGrid 的 ID column 因该 set 去 readonly,例如:
<asp:BoundColumn DataField="stuID" HeaderText="student ID" ReadOnly="True" />

retrief ID 时因该如此:
Dim id As String = e.Item.Cells(3).Text

[ 本帖最后由 热乎乎的冰淇淋 于 2-4-2006 11:30 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2-4-2006 09:04 PM | 显示全部楼层
原帖由 热乎乎的冰淇淋 于 2-4-2006 10:46 AM 发表
这一行:

Dim cmdStr As String = "update Student set stuName=@stuName where stuId='"+id+"'"

因该是

Dim cmdStr As String = "update Student set stu ...


如果我是用这个Dim id As String = e.Item.Cells(3).Text的话,当我按下update button的时候,我的data立刻会不见。
为什么会这样的?
谢谢。
回复

使用道具 举报

热乎乎的冰淇淋 该用户已被删除
发表于 3-4-2006 12:04 AM | 显示全部楼层
那一些 data 不见呢? 是 student name 吗? 还是那 student ID 的 整个data 不见?
还是同样问题, 是datagrid 没 display, 还是 database 里的data 真的不见。

还有, e.Item.Cells(3).Text 的 3 是第四个 column. 如果你的 datagrid 的 student id 是第一个 column 的话, 你应该写  id = e.Item.Cells(0).text 如此类推。

[ 本帖最后由 热乎乎的冰淇淋 于 3-4-2006 12:19 AM 编辑 ]
回复

使用道具 举报

Follow Us
 楼主| 发表于 4-4-2006 04:06 PM | 显示全部楼层
原帖由 热乎乎的冰淇淋 于 3-4-2006 12:04 AM 发表
那一些 data 不见呢? 是 student name 吗? 还是那 student ID 的 整个data 不见?
还是同样问题, 是datagrid 没 display, 还是 database 里的data 真的不见。

还有, e.Item.Cells(3).Text 的 3 是第四个 ...


還是做不了,我曾經試過create另外一個web form來做,但是結果還是一樣的。
我已經決定放棄了,我用另一個方法來代替它了。
無論如何謝謝你。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 11-5-2024 05:50 PM , Processed in 0.060943 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表