datgrid的奇怪问题,求救!!!!!!!!
我在datagrid里放了一个摸板列,里面放一个textbox(id="txtprojectid"),然后我在页面上放了一个button(id="btnSave"),我想点button时把摸板列里的所有textbox里的值全部放到数据库里去,但是现在的问题是,我用循环的时候,如果我输入1010和1011两个记录到textbox里,第一个记录可以放到数据库里,但是第二个记录就放不进去了,而且跟踪调试时显示的projectid=0,所以放不进去。但是我不明白第一条都可以怎么第二条就不行了???
代码如下:
-------------------------
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim i As Integer
'
'循环遍历所有textbox的值
'
For i = 0 To dgResult.Items.Count - 1
Dim id As Integer = Trim(dgResult.Items(i).Cells(0).Text) '读取第i行的id(即项目的projectid值)
Dim project As TextBox = CType(dgResult.Items(i).FindControl("txtProjectid"), TextBox) '第i行的textbox,并将其值赋给projectid
Dim projectid As Integer = Trim(Convert.ToInt32("0" & project.Text))
If projectid <> 0 Then
UpdateRecord(id, projectid)
End If
Next i
End Sub
-------------------
Sub UpdateRecord(ByVal id As Integer, ByVal projectid As Integer)
strSql = "UPDATE Project SET projectid=@projectid WHERE id=@project_id"
Dim myCommand As SqlDataAdapter = New SqlDataAdapter(strSql, myConnection)
myCommand.SelectCommand.CommandType = CommandType.StoredProcedure
myCommand.SelectCommand.Parameters.Add(New SqlParameter("@project_id", SqlDbType.Int, 4))
myCommand.SelectCommand.Parameters("@project_id").Value = id
myCommand.SelectCommand.Parameters.Add(New SqlParameter("@projectid", SqlDbType.Int, 4))
myCommand.SelectCommand.Parameters("@projectid").Value = projectid
myConnection.Open()
Try
myCommand.SelectCommand.ExecuteNonQuery()
Catch ex As SqlException
If ex.Number = 2627 Then
lblErrorMessage.Visible = True
lblErrorMessage.Text = "数据库中已经存在相同的项目标识!"
Else
lblErrorMessage.Visible = True
lblErrorMessage.Text = "不能更新记录!"
End If
End Try
myConnection.Close()
searchParam = Trim(txtSearchParam.Text).ToString
searchCompany = Trim(txtCompany.Text).ToString
BindData(searchParam, searchCompany)
End Sub
问题点数:30、回复次数:2Top
1 楼fengfangfang()回复于 2005-06-03 13:25:15 得分 30
重新绑定数据了呀
把UpdateRecord的数据绑定放到btnSave_Click中Top
2 楼jasonlee0927(一颗心忘了收...)回复于 2005-06-03 14:18:52 得分 0
我昨晚在家里写的代码都可以(家里的开发环境是vs.net2002英文版的),但是今天在公司里就不行了(公司的开发环境是vs.net2003)。应该不关数据绑定的事,因为第一个数据都可以。Top




