I have a page with datagrid (for viewing,
delete,edit,upd ate) and text fields with button to add
info to database.
When user comes to page the datagrid selects info from
database, binds in columns, and adds a delete buttoncolumn
and editcommandcolu mn. Below that, I have several text
boxes with a button with an onclick event to add new
information to the database table the grid pulls from.
A)Select Info binds fine.
B)Sumbitting values to be added works fine.
C)Delete option works fine.
D)<problem>Edit option tries to runs the delete sub , then
the edit sub.
E)<problem>Upda te option triggers the
RequiredFieldVa lidator used when new values are being
added.
F)Code is below for review
**********
<%@ Import NameSpace="Syst em.Data.SqlClie nt" %>
<%@ Import NameSpace="Syst em.Data"%>
<%@ Page Language="vb" %>
<HTML>
<script runat="Server">
Dim Conn As SqlConnection
Dim strSelect As String 'string based query
Dim Cmd As SqlCommand 'will hold sql commands
Dim ParmInfo as SQLParameter
Dim NID as Integer 'holds nurse computer generated id
Dim DBCommand as SQLDataAdapter
Sub Page_Load
Call BuildGrid()
End Sub
Sub BuildGrid
Conn = New SqlConnection(" Server=localhos t;Initial
Catalog=CCAN;Tr usted_Connectio n=yes;")
strSelect = "Select PNID, LastName, FirstName, MiddleName,
IDNum, SSNum, Email, Phone1, Phone2 from
TF_Preassigned_ Table Order by LastName "
'response.write (strSelect)
Cmd = New SqlCommand(strS elect, Conn)
Try
Conn.Open()
dtrItem.DataSou rce = cmd.ExecuteRead er()
dtrItem.DataBin d()
Catch TfHrException As SqlException
TfHrExceptionLa bel.Text = TfHrException.M essage
Finally
Conn.Close()
End Try
End Sub
Sub SubmitBtn_Click (Sender As Object, E As EventArgs)
Conn = New SqlConnection(" Server=localhos t;Initial
Catalog=CCAN;Tr usted_Connectio n=yes;")
Cmd = New SQLCommand("TF_ sp_insert_preas signed_info", Conn)
Cmd.CommandType = CommandType.Sto redProcedure
'Add Return Value Parameter
ParmInfo = Cmd.Parameters. Add("ReturnValu e", SqlDbType.Int)
ParmInfo.Direct ion = ParameterDirect ion.ReturnValue
'Add UID input parameter
Cmd.Parameters. Add("@ID", IDNum.Text)
Cmd.Parameters. Add("@FirstName ", FirstName.Text)
Cmd.Parameters. Add("@LastName" , LastName.Text)
Cmd.Parameters. Add("@MiddleNam e", MiddleName.Text )
Cmd.Parameters. Add("@SSNum", SSNum1.Text)
Cmd.Parameters. Add("@UserEmail ", Email.Text)
Cmd.Parameters. Add("@Phone1", Phone1.Text)
Cmd.Parameters. Add("@Phone2", Phone2.Text)
Conn.Open()
Cmd.ExecuteNonQ uery()
NID = Cmd.Parameters( "ReturnValue"). Value
Conn.Close()
Call BuildGrid()
End Sub
Sub Click_Grid(ByVa l Sender As Object, ByVal E as
DataGridCommand EventArgs)
Dim TheID as String
TheID = E.Item.Cells(0) .Text
response.write (TheID)
Conn = New SqlConnection(" Server=localhos t;Initial
Catalog=CCAN;Tr usted_Connectio n=yes;")
Cmd = New SQLCommand("TF_ sp_delete_preas signed_info", Conn)
Cmd.CommandType = CommandType.Sto redProcedure
'Add Return Value Parameter
ParmInfo = Cmd.Parameters. Add("@Progress" , SqlDbType.Int)
ParmInfo.Direct ion = ParameterDirect ion.Output
'Add UID input parameter
Cmd.Parameters. Add("@PNID", TheID)
'Cmd.CommandTex t = "Delete from TF_Preassigned_ table Where
PNID = "&TheID
Cmd.Connection = Conn
Cmd.Connection. Open
Cmd.ExecuteNonQ uery()
NID = Cmd.Parameters( "@Progress").Va lue
Conn.Close
if NID = 0 Then
response.write ("The could not be deleted.")
else
response.write ("Record found")
end if
Call BuildGrid()
End Sub
Sub Edit_Grid(sende r As Object, e As
DataGridCommand EventArgs)
dtrItem.EditIte mIndex = e.Item.ItemInde x
Call BuildGrid()
End Sub
Sub Update_Grid(ByV al Sender as Object, ByVal E as
DataGridCommand EventArgs)
Dim TheID as String
Dim LastName as String
Dim FirstName as String
Dim ID as String
Dim SSNUM as Integer
Dim Email as String
TheID = E.Item.Cells(0) .Text
LastName= CType(e.Item.Ce lls(1).Controls (0), TextBox).Text
FirstName= CType(e.Item.Ce lls(2).Controls (0), TextBox).Text
ID = CType(e.Item.Ce lls(3).Controls (0), TextBox).Text
SSNUM= CType(e.Item.Ce lls(4).Controls (0), TextBox).Text
Email= CType(e.Item.Ce lls(5).Controls (0), TextBox).Text
'havent finished this
End Sub
</script>
<body>
<form runat="server" ID="Form1">
<asp:Label ID="TfHrExcepti onLabel" runat="server" />
<BR>
<asp:DataGrid ID="dtrItem"
AutoGenerateCol umns="false" enableviewstate ="false"
runat="server" ItemStyle-BackColor="#DED FDE"
AlternatingItem Style-BackColor="Ligh tSteelBlue"
HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="Whit e"
HeaderStyle-BackColor="Blac k" Font-Names="Verdana" Font-
Size="X-Small" ForeColor="Blac k" BackColor="Whit e"
Cellpadding="3" GridLines="None " CellSpacing="1"
oneditcommand=" Edit_Grid"
onupdatecommand ="Update_Gri d"
onitemcommand=" Click_Grid"
<Columns>
<asp:BoundColum n HeaderText="Sys tem ID" DataField="PNID "
readonly="true"/>
<asp:BoundColum n HeaderText="Las t name" DataField
="LastName"/>
<asp:BoundColum n HeaderText="Fir st name"
DataField="Firs tName"/>
<asp:BoundColum n Headertext="ID" DataField="IDNu m"/>
<asp:BoundColum n HeaderText="Soc ial Security"
DataField="SSNu m"/>
<asp:BoundColum n HeaderText="Ema il" DataField="Emai l"/>
<asp:ButtonColu mn HeaderText="Cli ck to delete"
ButtonType="Pus hButton" Text="Delete record" />
<asp:EditComman dColumn EditText="Edit" UpdateText="Upd ate"
ItemStyle-Wrap="False" HeaderText="Edi t" HeaderStyle-
Wrap="False"/>
</Columns>
</asp:DataGrid>
<br>
<table border="1">
<tr>
<td
colspan="2"><as p:Label ID="TableHeadin g" text="Add new
nurse" Runat="server"> </asp:Label></td>
</tr>
<tr>
<td>
<asp:label
id="Label1" Runat="server" text="ID:"></asp:label>
</td>
<td>
<asp:textbox id="IDNum" runat="server"
columns="10"></asp:textbox>
<asp:RequiredFi eldValidator ID="id"
ControlToValida te="IDNum" Display="Dynami c"
Runat="server"> You must enter an
ID.</asp:RequiredFie ldValidator>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label2" Runat="server" text="First name:"></asp:label>
</td>
<td>
<asp:textbox id="FirstName" runat="server"
columns="10"></asp:textbox>
<asp:RequiredFi eldValidator ID="fname"
ControlToValida te="FirstName" Display="Dynami c"
Runat="server"> You must enter first
name.</asp:RequiredFie ldValidator>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label3" Runat="server" text="Last name:"></asp:label>
</td>
<td>
<asp:textbox id="LastName" runat="server"
columns="10"></asp:textbox>
<asp:RequiredFi eldValidator ID="lname"
ControlToValida te="LastName" Display="Dynami c"
Runat="server"> You must enter last
name.</asp:RequiredFie ldValidator>
</td>
<tr>
<td>
<asp:label
id="Label4" Runat="server" text="Middle name:"></asp:label>
</td>
<td>
<asp:textbox id="MiddleName " runat="server"
columns="10"></asp:textbox>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label5" Runat="server" text="Social
security:"></asp:label>
</td>
<td>
<asp:textbox id="SSNum1" runat="server"
columns="9" MaxLength="9"></asp:textbox>
<asp:RequiredFi eldValidator Runat="server"
ID="ReqSSNum" ControlToValida te="SSNum1"
ErrorMessage="Y ou must provide a social security
number"
display="Dynami c"/>
<asp:RegularExp ressionValidato r Runat="server"
ID="ReqExpSSNum "
ControlToValida te="NurseSSNum1 "
ValidationExpre ssion="^\d{3}\d {2}\d{4}$"
ErrorMessage= "Social security must be in the
format XXXXXXXXX"
display="Dynami c"
/>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label6" Runat="server" text="Email
address:"></asp:label>
</td>
<td>
<asp:textbox id="Email" runat="server"
columns="10"></asp:textbox>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label7" Runat="server" text="Phone 1:"></asp:label>
</td>
<td>
<asp:textbox id="Phone1" runat="server"
columns="10"></asp:textbox>
</td>
</tr>
<tr>
<td>
<asp:label
id="Label8" Runat="server" text="Phone 2:"></asp:label>
</td>
<td>
<asp:textbox id="Phone2" runat="server"
columns="10"></asp:textbox>
</td>
</tr>
</table>
<asp:Button id="Add" Text="Add
Nurse" OnClick="Submit Btn_Click"
Runat="server"> </asp:Button>
<P>
<asp:HyperLin k id="hyplnk"
runat="server" Text="Main menu"
navigateurl="../TF"
/>
</form>
</body>
</HTML>