Hey guys I have a datagrid that displays the data just fine. However, when I click edit, change a value and hit update I get this error:
-------------
Exception Details: System.FormatException: Input string was not in a correct format.
Source Error:
Line 87:
Line 88: MyConn.Open();
Line 89: myCommand.ExecuteNonQuery();
Line 90: MyConn.Close();
Line 91:
-------------
Here is my code:
Code:
private string sMyConn = "server=\'DC1\'; trusted_connection=true; database=\'presents\'";
void Page_Load(Object sender, EventArgs e)
{
getPresents();
}
public void getPresents()
{
SqlConnection MyConn = new SqlConnection(sMyConn);
StringBuilder sb = new StringBuilder();
sb.Append("select * ");
sb.Append("from my_presents");
SqlCommand myCommand = new SqlCommand(sb.ToString(), MyConn);
MyConn.Open();
myDataGrid.DataSource = myCommand.ExecuteReader();
myDataGrid.DataBind();
MyConn.Close();
}
public void myDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
{
myDataGrid.EditItemIndex = e.Item.ItemIndex;
getPresents();
}
public void myDataGrid_Cancel(Object sender, DataGridCommandEventArgs e)
{
myDataGrid.EditItemIndex = -1;
getPresents();
}
public void myDataGrid_Update(Object sender, DataGridCommandEventArgs e)
{
string sName, sUrl, sPrice, iPresentID;
sName = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
sUrl = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
sPrice = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
iPresentID = e.Item.Cells[5].Text;
StringBuilder sb = new StringBuilder();
sb.Append("Update my_presents ");
sb.Append("set present_name = @present_name,");
sb.Append("present_url = @present_url,");
sb.Append("present_price = @present_price");
sb.Append("where presentID = @presentID");
SqlConnection MyConn = new SqlConnection(sMyConn);
SqlCommand myCommand = new SqlCommand(sb.ToString(), MyConn);
myCommand.Parameters.Add(new SqlParameter("@present_name", SqlDbType.VarChar, 200));
myCommand.Parameters["@present_name"].Value = sName;
myCommand.Parameters.Add(new SqlParameter("@present_url", SqlDbType.VarChar, 500));
myCommand.Parameters["@present_url"].Value = sUrl;
myCommand.Parameters.Add(new SqlParameter("@present_price", SqlDbType.SmallInt));
myCommand.Parameters["@present_price"].Value = sPrice;
myCommand.Parameters.Add(new SqlParameter("@presentID", SqlDbType.SmallInt));
myCommand.Parameters["@presentID"].Value = iPresentID;
MyConn.Open();
myCommand.ExecuteNonQuery();
MyConn.Close();
myDataGrid.EditItemIndex = -1;
getPresents();
}
Any help would be greatly appreciated.
Take care,
Chris