I am creating a page to add maintenance technicians to a sql express table. I want to be able to edit a gridview. I have added it and associated my stored procedures with the datasource. The problem is that when I click edit the gridview disappears. Below is my code for the page and the stored procedure.
ASPX Page
##########################
##########
#
<%@ Page Language="VB" MasterPageFile="~/masters/
leftnavbar
_maint_tas
ks.master"
AutoEventWireup="false" CodeFile="technicians.aspx
.vb" Inherits="maint_technician
s" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="cphM
ain" Runat="Server">
<h4>Add Technicians...</h4>
<asp:formview datakeynames="id" datasourceid="srcTechs" defaultmode="Insert" id="frmAddTechs" runat="server">
<insertitemtemplate>
First Name:
<asp:textbox id="txtfirst_name" runat="server" text='<%# Bind("first_name") %>'></asp:textbox><br />
Last Name:
<asp:textbox id="txtLastName" runat="server" text='<%# Bind("last_name") %>'></asp:textbox><br />
<asp:linkbutton id="InsertButton" runat="server" causesvalidation="True" commandname="Insert"
text="Insert"></asp:linkbu
tton>
<asp:linkbutton id="InsertCancelButton" runat="server" causesvalidation="False" commandname="Cancel"
text="Cancel"></asp:linkbu
tton>
</insertitemtemplate>
</asp:formview>
<asp:sqldatasource id="srcTechs" runat="server" connectionstring="<%$ ConnectionStrings:conMaint
Tasks %>"
insertcommand="sp_insert_t
ech" insertcommandtype="StoredP
rocedure" selectcommand="sp_select_t
ech" selectcommandtype="StoredP
rocedure" updatecommand="sp_update_t
ech" updatecommandtype="StoredP
rocedure">
<insertparameters>
<asp:parameter name="first_name" type="String" />
<asp:parameter name="last_name" type="String" />
</insertparameters>
<updateparameters>
<asp:parameter name="first_name" type="String" />
<asp:parameter name="last_name" type="String" />
<asp:parameter name="email" type="String" />
<asp:parameter name="active" type="Boolean" />
<asp:parameter name="original_id" type="Int32" />
<asp:parameter name="original_first_name"
type="String" />
<asp:parameter name="original_last_name" type="String" />
<asp:parameter name="original_email" type="String" />
<asp:parameter name="original_active" type="Boolean" />
</updateparameters>
<deleteparameters>
<asp:parameter name="original_id" type="Int32" />
<asp:parameter name="original_first_name"
type="String" />
<asp:parameter name="original_last_name" type="String" />
<asp:parameter name="original_email" type="String" />
<asp:parameter name="original_active" type="Boolean" />
</deleteparameters>
</asp:sqldatasource>
<h4>Current Technicians...</h4>
<asp:gridview id="grdTechs" runat="server" e autogeneratecolumns="False
" datakeynames="id"
datasourceid="SqlDataSourc
e1" allowsorting="True">
<columns>
<asp:commandfield showeditbutton="True" />
<asp:boundfield datafield="id" headertext="id" insertvisible="False" readonly="True"
sortexpression="id" visible="False" />
<asp:boundfield datafield="first_name" headertext="First Name" sortexpression="first_name
" />
<asp:boundfield datafield="last_name" headertext="Last Name" sortexpression="last_name"
/>
<asp:boundfield datafield="email" headertext="Email Address" sortexpression="email" />
<asp:checkboxfield datafield="active" headertext="Active" sortexpression="active" />
</columns>
<rowstyle font-size="Small" />
<headerstyle font-bold="True" />
</asp:gridview>
<asp:sqldatasource id="SqlDataSource1" runat="server" conflictdetection="Compare
AllValues"
connectionstring="<%$ ConnectionStrings:conMaint
Tasks %>" deletecommand="DELETE FROM [tech] WHERE [id] = @original_id AND [first_name] = @original_first_name AND [last_name] = @original_last_name AND [email] = @original_email AND [active] = @original_active"
insertcommand="INSERT INTO [tech] ([first_name], [last_name], [email], [active]) VALUES (@first_name, @last_name, @email, @active)"
oldvaluesparameterformatst
ring="orig
inal_{0}" selectcommand="SELECT * FROM [tech]"
updatecommand="UPDATE [tech] SET [first_name] = @first_name, [last_name] = @last_name, [email] = @email, [active] = @active WHERE [id] = @original_id AND [first_name] = @original_first_name AND [last_name] = @original_last_name AND [email] = @original_email AND [active] = @original_active">
<deleteparameters>
<asp:parameter name="original_id" type="Int32" />
<asp:parameter name="original_first_name"
type="String" />
<asp:parameter name="original_last_name" type="String" />
<asp:parameter name="original_email" type="String" />
<asp:parameter name="original_active" type="Boolean" />
</deleteparameters>
<updateparameters>
<asp:parameter name="first_name" type="String" />
<asp:parameter name="last_name" type="String" />
<asp:parameter name="email" type="String" />
<asp:parameter name="active" type="Boolean" />
<asp:parameter name="original_id" type="Int32" />
<asp:parameter name="original_first_name"
type="String" />
<asp:parameter name="original_last_name" type="String" />
<asp:parameter name="original_email" type="String" />
<asp:parameter name="original_active" type="Boolean" />
</updateparameters>
<insertparameters>
<asp:parameter name="first_name" type="String" />
<asp:parameter name="last_name" type="String" />
<asp:parameter name="email" type="String" />
<asp:parameter name="active" type="Boolean" />
</insertparameters>
</asp:sqldatasource>
</asp:Content>
ASPX.VB File
##########################
##########
#
Partial Class maint_technicians
Inherits System.Web.UI.Page
End Class
Stored Procedure
##########################
#####
ALTER PROCEDURE dbo.sp_update_tech
(
@first_name varchar(50),
@last_name varchar(50),
@email varchar(50),
@active bit,
@Original_id int,
@IsNull_first_name Int,
@Original_first_name varchar(50),
@IsNull_last_name Int,
@Original_last_name varchar(50),
@IsNull_email Int,
@Original_email varchar(50),
@IsNull_active Int,
@Original_active bit,
@id int
)
AS
SET NOCOUNT OFF;
UPDATE [tech] SET [first_name] = @first_name, [last_name] = @last_name, [email] = @email, [active] = @active WHERE (([id] = @Original_id) AND ((@IsNull_first_name = 1 AND [first_name] IS NULL) OR ([first_name] = @Original_first_name)) AND ((@IsNull_last_name = 1 AND [last_name] IS NULL) OR ([last_name] = @Original_last_name)) AND ((@IsNull_email = 1 AND [email] IS NULL) OR ([email] = @Original_email)) AND ((@IsNull_active = 1 AND [active] IS NULL) OR ([active] = @Original_active)));
SELECT id, first_name, last_name, email, active FROM tech WHERE (id = @id)