Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

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();

Answer Posted / 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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How can we load multiple tables in to dataset?

1027


What is ado.net code?

885


What is ado code?

903


What is DataReader Object?

979


What are the essential features of ado.net?

892


What is oledb driver?

877


What is the difference between oledb sql server and oledbdotnet provider?

948


What is the meaning of executenonquery?

958


What are typed and untyped dataset?

1041


What are the different layers of ado.net?

1008


Explain how do you connect to sql server database without using sqlclient?

937


Why do we need ado.net?

904


What is serialization and de-serialization in .net?

873


What is the full form of ado.net?

929


What is the difference between sqlcommand and sqldataadapter?

941