I am using a code snippet from
http://www.dotnetjohn.com/articles/articleid83.aspx
to see if i can use it to update data. Here is the
problem/error i am getting.
System.IndexOut OfRangeExceptio n: There is no row at
position 0.
Any help would be greatly appreciated. Here is the code
Private Sub Page_Load(ByVal sender As System.Object,
ByVal e As System.EventArg s) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then
binddata()
Else
ReverseBind()
End If
End Sub
Sub binddata()
SqlSelectComman d1.Parameters(" @missionid").Va lue
= 21905
SqlSelectComman d1.Parameters(" @ssn").Value = "%"
SqlDataAdapter1 .Fill(Dataset11 )
DataGrid1.DataB ind()
_LastEditedPage = DataGrid1.Curre ntPageIndex
End Sub
Public Sub ReverseBind()
Dim gridrow As DataGridItem
Dim datarow As Dataset1.og_get CrewAssignedSor tRow
For Each gridrow In DataGrid1.Items
Next
datarow = Dataset11.og_ge tCrewAssignedSo rt
(gridrow.DataSe tIndex)
datarow.crewcod e() = CType(gridrow.F indControl
("txtCode"), TextBox).Text
datarow.crewqua l() = CType(gridrow.F indControl
("txtcrewQual") , TextBox).Text
datarow.crewdut y() = CType(gridrow.F indControl
("txtcrewDuty") , TextBox).Text
datarow.persont ype() = CType(gridrow.F indControl
("txtFunded" ), TextBox).Text
datarow.crewSor t() = CType(gridrow.F indControl
("txtsort"), TextBox).Text
Dataset11.og_ge tCrewAssignedSo rt
(gridrow.DataSe tIndex).ItemArr ay = datarow.ItemArr ay
End Sub
Protected Overrides Sub LoadViewState(B yVal
savedstate As Object)
MyBase.LoadView State(savedstat e)
If (Not Me.ViewState("D ata") Is Nothing) Then
Dataset11 = CType(Me.ViewSt ate("Data"),
Dataset1)
End If
If (Not Me.ViewState("L astEditedPage") Is
Nothing) Then
_LastEditedPage = CType(Me.ViewSt ate
("LastEditedPag e"), Integer)
End If
End Sub
Protected Overrides Function saveViewState() As Object
Me.ViewState("D ata") = Dataset11
Me.ViewState("L astEditedPage") = _LastEditedPage
Return (MyBase.SaveVie wState())
End Function
Private Sub DataGrid1_ItemD ataBound(ByVal sender As
Object, ByVal e As
System.Web.UI.W ebControls.Data GridItemEventAr gs) Handles
DataGrid1.ItemD ataBound
If (e.Item.ItemTyp e = ListItemType.It em Or
e.Item.ItemType = ListItemType.Al ternatingItem) Then
Dim datarow As
Dataset1.og_get CrewAssignedSor tRow
datarow = CType(CType(e.I tem.DataItem,
DataRowView).Ro w, Dataset1.og_get CrewAssignedSor tRow)
CType(e.Item.Fi ndControl("txtc ode"),
TextBox).Text = datarow.crewcod e
CType(e.Item.Fi ndControl("txtc rewQual"),
TextBox).Text = datarow.crewqua l
CType(e.Item.Fi ndControl("txtc rewDuty"),
TextBox).Text = datarow.crewdut y
CType(e.Item.Fi ndControl("txtF unded"),
TextBox).Text = datarow.persont ype
CType(e.Item.Fi ndControl("txtS ort"),
TextBox).Text = datarow.crewSor t
End If
End Sub
Private Sub Save_Click(ByVa l sender As System.Object,
ByVal e As System.EventArg s) Handles Save.Click
DataGrid1.Allow Paging = False
DataGrid1.DataS ource =
_Dataset11.og_g etCrewAssignedS ort
ReverseBind()
updateData()
End Sub
Sub updateData()
Dim gridrow As DataGridItem
Dim datarow As Dataset1.og_get CrewAssignedSor tRow
Dim txtcq As TextBox
Dim strcq As String
Dim txtcd As TextBox
Dim strcd As String
Dim txtptype As TextBox
Dim strptype As String
Dim txtccode As TextBox
Dim strccode As String
Dim txtcsort As TextBox
Dim intcsort As Integer
For Each gridrow In DataGrid1.Items
datarow = _dataset.og_get CrewAssignedSor t
(gridrow.DataSe tIndex)
txtcq = gridrow.FindCon trol("txtcrewqu al")
strcq = txtcq.Text
txtcd = gridrow.FindCon trol("txtcrewdu ty")
strcd = txtcd.Text
txtptype = gridrow.FindCon trol("txtFunded ")
strptype = txtptype.Text
txtccode = gridrow.FindCon trol("txtcode")
strccode = txtccode.Text
txtcsort = gridrow.FindCon trol("txtsort")
intcsort = CType(txtcsort. Text, Integer)
SqlUpdateComman d1.Parameters(" @cq").Value =
strcq
SqlUpdateComman d1.Parameters(" @cd").Value =
strcd
SqlUpdateComman d1.Parameters(" @ptype").Value
= strptype
SqlUpdateComman d1.Parameters(" @ccode").Value
= strccode
SqlUpdateComman d1.Parameters(" @csort").Value
= intcsort
SqlUpdateComman d1.Parameters(" @sid").Value =
1593
SqlConnection1. Open()
SqlUpdateComman d1.ExecuteNonQu ery()
SqlConnection1. Close()
Next
End Sub
End Class