I'm getting the error 'Input string was not in a correct format.' when I try to update a record in my datagrid.
Can anyone see what I'm doing wrong in my code?
Input string was not in a correct format.
<code>
' ------- UPDATE CODE ------- '
Sub DataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)
' update the database with the new values
' get the edit text boxes
Dim Region As Integer = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim Board As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim boardID As Integer = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim FirstName As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim LastName As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Dim Designations As String = CType(e.Item.Cells(7).Controls(0), TextBox).Text
Dim Title As String = CType(e.Item.Cells(8).Controls(0), TextBox).Text
Dim Company As String = CType(e.Item.Cells(9).Controls(0), TextBox).Text
Dim Address As String = CType(e.Item.Cells(10).Controls(0), TextBox).Text
Dim Address2 As String = CType(e.Item.Cells(11).Controls(0), TextBox).Text
Dim City As String = CType(e.Item.Cells(12).Controls(0), TextBox).Text
Dim [State] As String = CType(e.Item.Cells(13).Controls(0), TextBox).Text
Dim Zip As Integer = CType(e.Item.Cells(14).Controls(0), TextBox).Text
Dim OfficePhone As String = CType(e.Item.Cells(15).Controls(0), TextBox).Text
Dim HomePhone As String = CType(e.Item.Cells(16).Controls(0), TextBox).Text
Dim Fax As String = CType(e.Item.Cells(17).Controls(0), TextBox).Text
Dim TollFree As String = CType(e.Item.Cells(18).Controls(0), TextBox).Text
Dim Mobile As String = CType(e.Item.Cells(19).Controls(0), TextBox).Text
Dim Website As String = CType(e.Item.Cells(20).Controls(0), TextBox).Text
Dim Email As String = CType(e.Item.Cells(21).Controls(0), TextBox).Text
Dim id As String
id = DataGrid1.Items(e.Item.ItemIndex).Cells(7).Text
' TODO: update the Command value for your application
Dim myConnection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim UpdateCommand As SqlCommand = new SqlCommand()
UpdateCommand.Connection = myConnection
If AddingNew = True Then
UpdateCommand.CommandText = "INSERT INTO localBrdLeadership(Region, Board, boardID, FirstName, LastName, Designations, Title, Company, Address, Address2, City, [State], Zip, OfficePhone, HomePhone, Fax, TollFree, Mobile, Website, Email) VALUES (@Region, @Board, @boardID, @FirstName, @LastName, @Designations, @Title, @Company, @Address, @Address2, @City, @State, @Zip, @OfficePhone, @HomePhone, @Fax, @TollFree, @Mobile, @Website, @Email)"
Else
UpdateCommand.CommandText = "UPDATE localBrdLeadership SET Region=@Region, Board=@Board, boardID=@boardID, FirstName=@FirstName, LastName=@LastName, Designations=@Designations, Title=@Title, Company=@Company, Address=@Address, Address2=@Address2, City=@City, [State]=@State, Zip=@Zip, OfficePhone=@OfficePhone, HomePhone=@HomePhone, Fax=@Fax, TollFree=@TollFree, Mobile=Mobile Website=@Website, Email=@Email WHERE id=@id"
UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4).Value = id
End If
UpdateCommand.Parameters.Add("@Region", SqlDbType.Int, 4).Value = Region
UpdateCommand.Parameters.Add("@Board", SqlDbType.VarChar, 255).Value = Board
UpdateCommand.Parameters.Add("@boardID", SqlDbType.Int, 4).Value = boardID
UpdateCommand.Parameters.Add("@FirstName", SqlDbType.VarChar, 255).Value = FirstName
UpdateCommand.Parameters.Add("@LastName", SqlDbType.VarChar, 255).Value = LastName
UpdateCommand.Parameters.Add("@Designations", SqlDbType.VarChar, 255).Value = Designations
UpdateCommand.Parameters.Add("@Title", SqlDbType.VarChar, 255).Value = Title
UpdateCommand.Parameters.Add("@Company", SqlDbType.VarChar, 255).Value = Company
UpdateCommand.Parameters.Add("@Address", SqlDbType.VarChar, 255).Value = Address
UpdateCommand.Parameters.Add("@Address2", SqlDbType.VarChar, 255).Value = Address2
UpdateCommand.Parameters.Add("@City", SqlDbType.VarChar, 255).Value = City
UpdateCommand.Parameters.Add("@State", SqlDbType.VarChar, 255).Value = [State]
UpdateCommand.Parameters.Add("@Zip", SqlDbType.Int, 4).Value = Zip
UpdateCommand.Parameters.Add("@OfficePhone", SqlDbType.VarChar, 255).Value = OfficePhone
UpdateCommand.Parameters.Add("@HomePhone", SqlDbType.VarChar, 255).Value = HomePhone
UpdateCommand.Parameters.Add("@Fax", SqlDbType.VarChar, 255).Value = Fax
UpdateCommand.Parameters.Add("@TollFree", SqlDbType.VarChar, 255).Value = TollFree
UpdateCommand.Parameters.Add("@Mobile", SqlDbType.VarChar, 255).Value = Mobile
UpdateCommand.Parameters.Add("@Website", SqlDbType.VarChar, 255).Value = Website
UpdateCommand.Parameters.Add("@Email", SqlDbType.VarChar, 255).Value = Email
' execute the command
Try
myConnection.Open()
UpdateCommand.ExecuteNonQuery()
Catch ex as Exception
Message.Text = ex.ToString()
Finally
myConnection.Close()
End Try
' Resort the grid for new records
If AddingNew = True Then
DataGrid1.CurrentPageIndex = 0
AddingNew = false
End If
' rebind the grid
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub</code>
And here's the datagrid code:
<code><form runat="server">
<asp:datagrid id="DataGrid1" runat="server" width="80%" CellSpacing="1" GridLines="None"
CellPadding="3" BackColor="White" ForeColor="Black" OnPageIndexChanged="DataGrid_Page"
PageSize="10" AllowPaging="true" OnDeleteCommand="DataGrid_Delete" OnCancelCommand="DataGrid_Cancel"
OnUpdateCommand="DataGrid_Update" OnEditCommand="DataGrid_Edit" OnItemCommand="DataGrid_ItemCommand"
OnItemDataBound="DataGrid1_OnItemDataBound" DataKeyField="id" ItemStyle-BackColor="#EFEFEF"
AlternatingItemStyle-BackColor="#F5F5F5" AutoGenerateColumns="False" ShowHeader="true">
<HeaderStyle font-bold="True" HorizontalAlign="Center" forecolor="white" backcolor="#6699CC"></HeaderStyle>
<PagerStyle horizontalalign="Left" backcolor="#C6C3C6" mode="NumericPages"></PagerStyle>
<Columns>
<asp:EditCommandColumn HeaderText="Edit / Save" HeaderStyle-Wrap="false" ItemStyle-Wrap="false" ButtonType="LinkButton" UpdateText="Save" CancelText="Cancel" EditText="Edit" ItemStyle-Font-Size="smaller" ItemStyle-Width="10%"></asp:EditCommandColumn>
<asp:templatecolumn HeaderText="Delete" ItemStyle-Wrap="false" HeaderStyle-Wrap="false">
<itemtemplate>
<asp:linkbutton id="deleteButton" runat="server" text="Delete" commandname="Delete" />
</itemtemplate>
</asp:templatecolumn>
<asp:boundcolumn DataField="Region" ReadOnly="false" HeaderText="Region" HeaderStyle-Wrap="false" ItemStyle-Wrap="false" />
<asp:boundcolumn DataField="Board" ReadOnly="false" HeaderText="Board" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="boardID" ReadOnly="false" HeaderText="boardID" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="FirstName" ReadOnly="false" HeaderText="FirstName" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="LastName" ReadOnly="false" HeaderText="LastName" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Designations" ReadOnly="false" HeaderText="Designations" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Title" ReadOnly="false" HeaderText="Title" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Company" ReadOnly="false" HeaderText="Company" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Address" ReadOnly="false" HeaderText="Address" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Address2" ReadOnly="false" HeaderText="Address2" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="City" ReadOnly="false" HeaderText="City" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="State" ReadOnly="false" HeaderText="State" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Zip" ReadOnly="false" HeaderText="Zip" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="OfficePhone" ReadOnly="false" HeaderText="OfficePhone" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="HomePhone" ReadOnly="false" HeaderText="HomePhone" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Fax" ReadOnly="false" HeaderText="Fax" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="TollFree" ReadOnly="false" HeaderText="TollFree" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Mobile" ReadOnly="false" HeaderText="Mobile" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Website" ReadOnly="false" HeaderText="Website" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Email" ReadOnly="false" HeaderText="Email" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="id" ReadOnly="true" HeaderText="ID" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
</Columns>
</asp:datagrid>
<br />
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')"><img src="../assets/pics/add.gif" width="11" height="11" border="0"></a>
<asp:LinkButton id="LinkButton1" onclick="AddNew_Click" runat="server" Font-Size="smaller" Text="Add New Record"></asp:LinkButton>
<br />
<br />
<asp:Label id="Message" runat="server" width="80%" enableviewstate="false" forecolor="red"></asp:Label>
<input type="hidden" name="custom_deleteID" value="">
<input type="hidden" name="custom_action" value="">
</form></code>
Any assistance would be great. Thanks.
Can anyone see what I'm doing wrong in my code?
Input string was not in a correct format.
<code>
' ------- UPDATE CODE ------- '
Sub DataGrid_Update(Sender As Object, E As DataGridCommandEventArgs)
' update the database with the new values
' get the edit text boxes
Dim Region As Integer = CType(e.Item.Cells(2).Controls(0), TextBox).Text
Dim Board As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text
Dim boardID As Integer = CType(e.Item.Cells(4).Controls(0), TextBox).Text
Dim FirstName As String = CType(e.Item.Cells(5).Controls(0), TextBox).Text
Dim LastName As String = CType(e.Item.Cells(6).Controls(0), TextBox).Text
Dim Designations As String = CType(e.Item.Cells(7).Controls(0), TextBox).Text
Dim Title As String = CType(e.Item.Cells(8).Controls(0), TextBox).Text
Dim Company As String = CType(e.Item.Cells(9).Controls(0), TextBox).Text
Dim Address As String = CType(e.Item.Cells(10).Controls(0), TextBox).Text
Dim Address2 As String = CType(e.Item.Cells(11).Controls(0), TextBox).Text
Dim City As String = CType(e.Item.Cells(12).Controls(0), TextBox).Text
Dim [State] As String = CType(e.Item.Cells(13).Controls(0), TextBox).Text
Dim Zip As Integer = CType(e.Item.Cells(14).Controls(0), TextBox).Text
Dim OfficePhone As String = CType(e.Item.Cells(15).Controls(0), TextBox).Text
Dim HomePhone As String = CType(e.Item.Cells(16).Controls(0), TextBox).Text
Dim Fax As String = CType(e.Item.Cells(17).Controls(0), TextBox).Text
Dim TollFree As String = CType(e.Item.Cells(18).Controls(0), TextBox).Text
Dim Mobile As String = CType(e.Item.Cells(19).Controls(0), TextBox).Text
Dim Website As String = CType(e.Item.Cells(20).Controls(0), TextBox).Text
Dim Email As String = CType(e.Item.Cells(21).Controls(0), TextBox).Text
Dim id As String
id = DataGrid1.Items(e.Item.ItemIndex).Cells(7).Text
' TODO: update the Command value for your application
Dim myConnection As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim UpdateCommand As SqlCommand = new SqlCommand()
UpdateCommand.Connection = myConnection
If AddingNew = True Then
UpdateCommand.CommandText = "INSERT INTO localBrdLeadership(Region, Board, boardID, FirstName, LastName, Designations, Title, Company, Address, Address2, City, [State], Zip, OfficePhone, HomePhone, Fax, TollFree, Mobile, Website, Email) VALUES (@Region, @Board, @boardID, @FirstName, @LastName, @Designations, @Title, @Company, @Address, @Address2, @City, @State, @Zip, @OfficePhone, @HomePhone, @Fax, @TollFree, @Mobile, @Website, @Email)"
Else
UpdateCommand.CommandText = "UPDATE localBrdLeadership SET Region=@Region, Board=@Board, boardID=@boardID, FirstName=@FirstName, LastName=@LastName, Designations=@Designations, Title=@Title, Company=@Company, Address=@Address, Address2=@Address2, City=@City, [State]=@State, Zip=@Zip, OfficePhone=@OfficePhone, HomePhone=@HomePhone, Fax=@Fax, TollFree=@TollFree, Mobile=Mobile Website=@Website, Email=@Email WHERE id=@id"
UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4).Value = id
End If
UpdateCommand.Parameters.Add("@Region", SqlDbType.Int, 4).Value = Region
UpdateCommand.Parameters.Add("@Board", SqlDbType.VarChar, 255).Value = Board
UpdateCommand.Parameters.Add("@boardID", SqlDbType.Int, 4).Value = boardID
UpdateCommand.Parameters.Add("@FirstName", SqlDbType.VarChar, 255).Value = FirstName
UpdateCommand.Parameters.Add("@LastName", SqlDbType.VarChar, 255).Value = LastName
UpdateCommand.Parameters.Add("@Designations", SqlDbType.VarChar, 255).Value = Designations
UpdateCommand.Parameters.Add("@Title", SqlDbType.VarChar, 255).Value = Title
UpdateCommand.Parameters.Add("@Company", SqlDbType.VarChar, 255).Value = Company
UpdateCommand.Parameters.Add("@Address", SqlDbType.VarChar, 255).Value = Address
UpdateCommand.Parameters.Add("@Address2", SqlDbType.VarChar, 255).Value = Address2
UpdateCommand.Parameters.Add("@City", SqlDbType.VarChar, 255).Value = City
UpdateCommand.Parameters.Add("@State", SqlDbType.VarChar, 255).Value = [State]
UpdateCommand.Parameters.Add("@Zip", SqlDbType.Int, 4).Value = Zip
UpdateCommand.Parameters.Add("@OfficePhone", SqlDbType.VarChar, 255).Value = OfficePhone
UpdateCommand.Parameters.Add("@HomePhone", SqlDbType.VarChar, 255).Value = HomePhone
UpdateCommand.Parameters.Add("@Fax", SqlDbType.VarChar, 255).Value = Fax
UpdateCommand.Parameters.Add("@TollFree", SqlDbType.VarChar, 255).Value = TollFree
UpdateCommand.Parameters.Add("@Mobile", SqlDbType.VarChar, 255).Value = Mobile
UpdateCommand.Parameters.Add("@Website", SqlDbType.VarChar, 255).Value = Website
UpdateCommand.Parameters.Add("@Email", SqlDbType.VarChar, 255).Value = Email
' execute the command
Try
myConnection.Open()
UpdateCommand.ExecuteNonQuery()
Catch ex as Exception
Message.Text = ex.ToString()
Finally
myConnection.Close()
End Try
' Resort the grid for new records
If AddingNew = True Then
DataGrid1.CurrentPageIndex = 0
AddingNew = false
End If
' rebind the grid
DataGrid1.EditItemIndex = -1
BindGrid()
End Sub</code>
And here's the datagrid code:
<code><form runat="server">
<asp:datagrid id="DataGrid1" runat="server" width="80%" CellSpacing="1" GridLines="None"
CellPadding="3" BackColor="White" ForeColor="Black" OnPageIndexChanged="DataGrid_Page"
PageSize="10" AllowPaging="true" OnDeleteCommand="DataGrid_Delete" OnCancelCommand="DataGrid_Cancel"
OnUpdateCommand="DataGrid_Update" OnEditCommand="DataGrid_Edit" OnItemCommand="DataGrid_ItemCommand"
OnItemDataBound="DataGrid1_OnItemDataBound" DataKeyField="id" ItemStyle-BackColor="#EFEFEF"
AlternatingItemStyle-BackColor="#F5F5F5" AutoGenerateColumns="False" ShowHeader="true">
<HeaderStyle font-bold="True" HorizontalAlign="Center" forecolor="white" backcolor="#6699CC"></HeaderStyle>
<PagerStyle horizontalalign="Left" backcolor="#C6C3C6" mode="NumericPages"></PagerStyle>
<Columns>
<asp:EditCommandColumn HeaderText="Edit / Save" HeaderStyle-Wrap="false" ItemStyle-Wrap="false" ButtonType="LinkButton" UpdateText="Save" CancelText="Cancel" EditText="Edit" ItemStyle-Font-Size="smaller" ItemStyle-Width="10%"></asp:EditCommandColumn>
<asp:templatecolumn HeaderText="Delete" ItemStyle-Wrap="false" HeaderStyle-Wrap="false">
<itemtemplate>
<asp:linkbutton id="deleteButton" runat="server" text="Delete" commandname="Delete" />
</itemtemplate>
</asp:templatecolumn>
<asp:boundcolumn DataField="Region" ReadOnly="false" HeaderText="Region" HeaderStyle-Wrap="false" ItemStyle-Wrap="false" />
<asp:boundcolumn DataField="Board" ReadOnly="false" HeaderText="Board" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="boardID" ReadOnly="false" HeaderText="boardID" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="FirstName" ReadOnly="false" HeaderText="FirstName" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="LastName" ReadOnly="false" HeaderText="LastName" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Designations" ReadOnly="false" HeaderText="Designations" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Title" ReadOnly="false" HeaderText="Title" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Company" ReadOnly="false" HeaderText="Company" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Address" ReadOnly="false" HeaderText="Address" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Address2" ReadOnly="false" HeaderText="Address2" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="City" ReadOnly="false" HeaderText="City" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="State" ReadOnly="false" HeaderText="State" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Zip" ReadOnly="false" HeaderText="Zip" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="OfficePhone" ReadOnly="false" HeaderText="OfficePhone" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="HomePhone" ReadOnly="false" HeaderText="HomePhone" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Fax" ReadOnly="false" HeaderText="Fax" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="TollFree" ReadOnly="false" HeaderText="TollFree" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Mobile" ReadOnly="false" HeaderText="Mobile" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Website" ReadOnly="false" HeaderText="Website" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="Email" ReadOnly="false" HeaderText="Email" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
<asp:boundcolumn DataField="id" ReadOnly="true" HeaderText="ID" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" />
</Columns>
</asp:datagrid>
<br />
<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')"><img src="../assets/pics/add.gif" width="11" height="11" border="0"></a>
<asp:LinkButton id="LinkButton1" onclick="AddNew_Click" runat="server" Font-Size="smaller" Text="Add New Record"></asp:LinkButton>
<br />
<br />
<asp:Label id="Message" runat="server" width="80%" enableviewstate="false" forecolor="red"></asp:Label>
<input type="hidden" name="custom_deleteID" value="">
<input type="hidden" name="custom_action" value="">
</form></code>
Any assistance would be great. Thanks.