Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx thread: Please help-- DataGrid update command not working and driving me insane.


Message #1 by "Oliver, Wells" <WOliver@l...> on Mon, 25 Nov 2002 09:12:12 -0800
I've been at this for two days now.

The datagrid bits:
			<asp:DataGrid
				ID="RelatedGrid"
				DataKeyField="RelatedItemsID"
				Cellpadding="3"
				AutoGenerateColumns="False"
				OnEditCommand="DoItemEdit"
				OnUpdateCommand="DoItemUpdate"
				OnCancelCommand="DoItemCancel"
				Visible="False"
				Runat="server">

					<asp:TemplateColumn
						HeaderStyle-Width="150"
	
HeaderStyle-CssClass="projectDataHeader"
	
ItemStyle-CssClass="projectData"
						HeaderText="Related">
						<ItemTemplate>
							<a
href='relateditems.aspx?id=<%# DataBinder.Eval (Container.DataItem,
"RelatedWebPartNumber") %>'><%# DataBinder.Eval (Container.DataItem,
"RelatedWebPartNumber") %></a>
						</ItemTemplate>
						<EditItemTemplate>
							<asp:TextBox
	
ID="RelatedWebPartNumberBox"
								Text='<%#
DataBinder.Eval (Container.DataItem, "RelatedWebPartNumber") %>'
	
MaxLength="9"
	
Runat="server" />
	
<asp:RequiredFieldValidator
	
ID="RelatedWebPartNumberValidator"
	
ControlToValidate="RelatedWebPartNumberBox"
	
Display="Dynamic"
	
ErrorMessage="<br />* Cannot be blank"
	
Runat="server" />
						</EditItemTemplate>
					</asp:TemplateColumn>

And the DoItemUpdate void:
		public void DoItemUpdate (object sender,
DataGridCommandEventArgs e)
		{
			/*
			 * 
			 * DoItemUpdate (object sender,
DataGridCommandEventArgs e)
			 * Updates an item in the WC_RelatedItems table
			 * 
			 */
			string strRelatedWebPartNumber 
((TextBox)e.Item.FindControl("RelatedWebPartNumberBox")).Text;
			this.objCom.Connection = this.objConn;
			this.objCom.CommandType 
CommandType.StoredProcedure;
			this.objCom.CommandText 
"aspx_Catalog_AddRelatedItem";

			this.objCom.Parameters.Clear();
			
			this.objCom.Parameters.Add (new SqlParameter
("@operation", SqlDbType.VarChar, 1));
			this.objCom.Parameters["@operation"].Value = "U";
// U for operation means update

			this.objCom.Parameters.Add (new SqlParameter
("@ItemIndex", SqlDbType.Int, 1));
			this.objCom.Parameters["@ItemIndex"].Value 
(int)this.RelatedGrid.DataKeys[e.Item.ItemIndex];

			this.objCom.Parameters.Add (new SqlParameter
("@PrimaryWebPartNumber", SqlDbType.VarChar, 9));
	
this.objCom.Parameters["@PrimaryWebPartNumber"].Value 
this.PrimaryWebPartNumber.Value;

			this.objCom.Parameters.Add (new SqlParameter
("@RelatedWebPartNumber", SqlDbType.VarChar, 9));
	
this.objCom.Parameters["@RelatedWebPartNumber"].Value 
strRelatedWebPartNumber;

			this.objCom.Parameters.Add (new SqlParameter
("@user", SqlDbType.VarChar, 50));
			this.objCom.Parameters["@user"].Value 
Session["LOGON_NAME"].ToString();

			this.objCom.Parameters.Add (new
SqlParameter("ReturnValue", SqlDbType.Int, 4));
			this.objCom.Parameters["ReturnValue"].Direction 
ParameterDirection.ReturnValue;
			
			try
			{
				this.objConn.Open();
				this.objCom.ExecuteNonQuery();
				this.objConn.Close();

				int x 
(int)this.objCom.Parameters["ReturnValue"].Value;

				if (x == 0)
				{
					this.ErrorMessages.InnerHtml 
"<i>&nbsp;<b>ERROR:</b> That web part number (" + strRelatedWebPartNumber +
") was not found.</i>";
					this.ErrorMessages.Visible = true;
				}
				else
				{
					AddItem.Visible = false;
					this.ErrorMessages.Visible = false;
					this.BindData();
					this.searchBox.Visible = true;
					this.searchBtn.Visible = true;
					this.searchLabel.Visible = true;
					this.addBtn.Visible = true;
					this.RelatedGrid.EditItemIndex = -1;
					this.BindData();
				}
			}
			catch (Exception objError)
			{
				this.ErrorMessages.InnerHtml 
"<b>ERROR:</b>: There was an error in your operation, please try
again.<br/><b>Message:</b> " + objError.Message.ToString();
				this.ErrorMessages.Visible = true;
			}
		}
--

It updates every field in the DB except the RelatedWebPartNumber. There is
no problem with the stored proc because if I execute it via the query window
it works fine. Any tips?! Thanks!

Wells Oliver
Web Applications Programmer
Leviton Voice & Data
xxx-xxx-xxxx
http://www.levitonvoicedata.com 


  Return to Index