I have been stuck on this for 2 days now and can't figure it out.
I'm using a datagrid to get data from SQL DB which works fine. I added an edit feature but nothing changes when update is clicked. I'm lost can some direct me in the right direction?
void dgrdPatientRecords_UpdateCommand( Object s, DataGridCommandEventArgs e )
{
String constring;
SqlParameter parmReturn;
SqlConnection conEck;
string patientID = Request.QueryString["id"];
int intID = Convert.ToInt32(dgrdPatientRecords.DataKeys[e.Item.ItemIndex]);
String strDayOfWeek = ((TextBox)(e.Item.Cells[3].Controls[1])).Text;
String strDate = ((TextBox)(e.Item.Cells[4].Controls[1])).Text;
String strWornDay = ((TextBox)(e.Item.Cells[5].Controls[1])).Text;
String strWornNight = ((TextBox)(e.Item.Cells[6].Controls[1])).Text;
String strTotalWorn = ((TextBox)(e.Item.Cells[7].Controls[1])).Text;
String strPainDay = ((TextBox)(e.Item.Cells

.Controls[1])).Text;
String strPainNight = ((TextBox)(e.Item.Cells[9].Controls[1])).Text;
int intWornDay = Convert.ToInt32(strWornDay);
int intWornNight = Convert.ToInt32(strWornNight);
int intWornTotal = intWornDay + intWornNight;
string strWornTotal = Convert.ToString(intWornTotal);
int intDayNum = e.Item.ItemIndex;
lblPatient.Text = patientID;
intDayNum = intDayNum + 1;
string strDayNum = Convert.ToString(intDayNum);
strSql = "UPDATE [EckStudy].[dbo].[PatientRecord] SET [PatientID]=@PatientID, " + "[DayNumber]=@strDayNum, " + "[DayOfWeek]=@strDayOfWeek, " + "[Date]=@strDate, " + "[WornDay]=@strWornDay, " + "[WornNight]=@strWornNight, " + "[TotalWorn]=@strTotalWorn, " + "[PainDay]=@strPainDay, " + "[PainNight]=@strPainNight Where [ID]=@intID";
constring = ConfigurationSettings.AppSettings["constring"];
conEck = new SqlConnection(constring);
SqlCommand cmdSql = new SqlCommand(strSql, conEck);
cmdSql.Parameters.Add("@intID", intID);
cmdSql.Parameters.Add("@PatientID", patientID);
cmdSql.Parameters.Add("@strDayNum", strDayNum);
cmdSql.Parameters.Add("@strDayOfWeek", strDayOfWeek);
cmdSql.Parameters.Add("@strDate", strDate);
cmdSql.Parameters.Add("@strWornDay", strWornDay);
cmdSql.Parameters.Add("@strWornNight", strWornNight);
cmdSql.Parameters.Add("@strTotalWorn", strWornTotal);
cmdSql.Parameters.Add("@strPainDay", strPainDay);
cmdSql.Parameters.Add("@strPainNight", strPainNight);
conEck.Open();
cmdSql.ExecuteNonQuery();
conEck.Close();
dgrdPatientRecords.EditItemIndex = -1;
BindDataGrid();
}
<asp:DataGrid
ID="dgrdPatientRecords"
OnEditCommand="dgrdPatientRecords_EditCommand"
OnUpdateCommand="dgrdPatientRecords_UpdateCommand"
OnCancelCommand="dgrdPatientRecords_CancelCommand"
DataKeyField="ID"
AutoGenerateColumns="False"
CellPadding="4"
Runat="Server" Font-Names="Arial" Font-Size="XX-Small" HorizontalAlign="Center" ForeColor="#333333">
<Columns>
<asp:BoundColumn DataField="ID" HeaderText="ID" Visible="false" />
<asp:BoundColumn DataField="PatientID" HeaderText="PatientID" Visible="false" />
<asp:BoundColumn DataField="DayNumber" HeaderText="DayNumber" ReadOnly="true" />
<asp:templatecolumn HeaderText="Day of Week" HeaderStyle-Width="50">
<ItemTemplate>
<asp:label ID="lblDayOfWeek" Text='<%#DataBinder.Eval(Container.DataItem, "DayOfWeek" )%>' runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox ID="txtDayOfWeek" BackColor="#FFFF99" width="30" Font-Names="Arial" Font-Size="XX-Small" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DayOfWeek" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtDayOfWeek" Display="Dynamic" Text="Enter Day of Week" runat="server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Date">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "Date" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtDate" width="60" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Date" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
ControlToValidate="txtDate"
Display="Dynamic"
Text="Enter Date"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Hours Worn During Day" HeaderStyle-Width="60">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "WornDay" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtWornDay" width="30" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "WornDay" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator3"
ControlToValidate="txtWornDay"
Display="Dynamic"
Text="Enter Hours Worn During Day"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Hours Worn During Night" HeaderStyle-Width="60">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "WornNight" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtWornNight" width="30" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "WornNight" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator4"
ControlToValidate="txtWornNight"
Display="Dynamic"
Text="Enter Hours Worn During Night"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Total Worn" HeaderStyle-Width="60">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "TotalWorn" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtTotalWorn" width="30" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "TotalWorn" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator5"
ControlToValidate="txtTotalWorn"
Display="Dynamic"
Text="Enter Total Worn"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Pain During Day" HeaderStyle-Width="60">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "PainDay" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtPainDay" width="30" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "PainDay" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator6"
ControlToValidate="txtPainDay"
Display="Dynamic"
Text="Enter Pain During Day"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:templatecolumn HeaderText="Pain During Night" HeaderStyle-Width="60">
<ItemTemplate>
<asp:label Text='<%#DataBinder.Eval(Container.DataItem, "PainNight" )%>'
runat="server"></asp:label>
</ItemTemplate>
<EditItemTemplate>
<center><asp:textbox BackColor="#FFFF99" ID="txtPainNight" width="30" Font-Names="Arial" Font-Size="XX-Small"
runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "PainNight" )%>' /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator7"
ControlToValidate="txtPainNight"
Display="Dynamic"
Text="Enter Pain During Night"
Runat="Server" /></center>
</EditItemTemplate>
</asp:templatecolumn>
<asp:EditCommandColumn
EditText="Edit"
UpdateText="Update"
CancelText="Cancel" ItemStyle-Font-Size="XX-Small" >
<ItemStyle Wrap="False" />
</asp:EditCommandColumn>
</Columns>
<HeaderStyle BackColor="RoyalBlue" HorizontalAlign="Center" VerticalAlign="Middle" Font-Bold="True" ForeColor="White" />
<SelectedItemStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<AlternatingItemStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="White" ForeColor="#284775" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#F7F6F3" ForeColor="#333333" />
<EditItemStyle BackColor="White" BorderStyle="None" Width="0px" BorderWidth="0px" Font-Size="X-Small" />
</asp:DataGrid>