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 is the difference between DataReader and DataSet in ADO.NET?
0 Answers Petranics Solutions,
If a table contains 20000 records. In a page at each time 100 records to be displayed.
What are all features of ADO.Net?
What are the different row versions available?
Difference between OLEDB Provider and SqlClient ?
how to keep track of index in listbox items.
How to connect and retrieve data from database using dataset
What is a dataset?
Some important instruction regarding ADO.NET connection string ?
what is the difference betwen typed dataset and untyped dataset?in general which dataset can we use in programming?
How can we load multiple tables in a dataset?
What is openrowset?
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)