How To Update A Column In A DataGrid Using C#.NET?
I am getting InvalidCastException as (Specified cast is not
valid) while updating 2nd column in a datagrid?
Id,firstname,lastname are the three columns of my datagrid
respectively. I wanted to edit the second column(lastname)
and update it. I did the following code in DataGrid's
updatecommand(),but failed to update !
Int varid=(int)DataGrid1.DataKeys[e.Item.ItemIndex];
TextBox lnm=(TextBox)e.Item.Cells[2].Controls[0]; string
str=lnm.Text ; SqlCommand cmd=new SqlCommand("update
customer set lastname='" + str + "' where id=" + varid
+ "",con); cmd.ExecuteNonQuery(); DataGrid1.EditItemIndex=-
1; DataGrid1.DataBind();
Answers were Sorted based on User's Feedback
Answer / aravazhi
Try this query you can avoid InvalidCastException...
string strQry = "update customer set lastname=@LastName
where id=@VarId";
SqlCommand cmd=new SqlCommand(strQry,con);
int varid = (int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string LName = ((TextBox)e.Item.FondControl
("txtLName")).Text;//txtLname is ID of control
cmd.Paramters.Add(new SqlParameter("@LastName",LName));
cmd.Paramters.Add(new SqlParameter("@VarId",varid));
cmd.ExecuteNonQuery();
DataGrid1.EditItemIndex=- 1;
DataGrid1.DataBind();
| Is This Answer Correct ? | 15 Yes | 4 No |
Answer / pk
public void DataGrid1_Update(Object sender,
DataGridCommandEventArgs e)
{
string unitprice =
((TextBox)e.Item.Cells[3].Controls[0]).Text;
string quantity =
((TextBox)e.Item.Cells[4].Controls[0]).Text;
string discount =
((TextBox)e.Item.Cells[5].Controls[0]).Text;
int orderid =
(int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string productid =
((TextBox)e.Item.Cells[2].Controls[0]).Text;
try
{
string updateCmd = "UPDATE [Order Details] SET
UnitPrice = @UnitPrice,"
+ "Quantity = @Quantity, Discount = @Discount
where OrderId =@OrderId and ProductId=@ProductId";
SqlConnection cn = new SqlConnection(strConn);
SqlCommand myCommand = new SqlCommand(updateCmd,
cn);
myCommand.Parameters.Add(new
SqlParameter("@UnitPrice", Convert.ToDecimal(unitprice)));
myCommand.Parameters.Add(new
SqlParameter("@Quantity", Convert.ToInt16(quantity)));
myCommand.Parameters.Add(new
SqlParameter("@Discount", Convert.ToInt16(discount)));
myCommand.Parameters.Add(new
SqlParameter("@OrderId", orderid));
myCommand.Parameters.Add(new
SqlParameter("@ProductId", Convert.ToInt16(productid)));
cn.Open();
myCommand.ExecuteNonQuery();
DataGrid1.EditItemIndex = -1;
BindGrid();
}
catch (Exception ex)
{
lblError.Visible = true;
lblError.Text = (ex.Message);
}
| Is This Answer Correct ? | 2 Yes | 5 No |
What do you mean by ‘batch updates’?
What is different between sqlcommand object and command behavior object?
What are the advantage of ado.net?
What is the default view of Data Grid?
Which property is used to check whether a DataReader is closed or opened?
What is a non query?
What are dcl commands?
Explain how do you connect to sql server database without using sqlclient?
Why is stored procedure used in ado.net?
Which is faster ado.net or linq?
Explain the advantages and disadvantages of using datalist?
What are the objects of ado.net?
Visual Basic (800)
C Sharp (3816)
ASP.NET (3180)
VB.NET (461)
COM+ (79)
ADO.NET (717)
IIS (369)
MTS (11)
Crystal Reports (81)
BizTalk (89)
Dot Net (2435)
Exchange Server (362)
SharePoint (720)
WCF (340)
MS Office Microsoft (6963)
LINQ Language-Integrated Query (317)
WPF (371)
TypeScript (144)
Microsoft Related AllOther (311)