I have dropdownlist carry GUID value, when I need to modify user role, I can not able to update user info, because many problems in below, what is a best way to convert from string to GUID?
===========================================
Method 1
Error:Incorrect syntax near '('.
protected void GV_UsersRoles_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList DRL_Role = (DropDownList)GV_UsersRoles.Rows[e.RowIndex].FindControl("DDL_Roles");
try
{
string roleId = DRL_Role.SelectedValue.ToString();
using (SqlConnection sqlcon = new SqlConnection(connString))
{
sqlcon.Open();
string Qupdate = "UPDATE Staff SET (RoleId) VALUES(@RoleId) WHERE UserId = @UserId";
SqlCommand sqlcmd = new SqlCommand(Qupdate, sqlcon);
sqlcmd.Parameters.Add("@RoleId", SqlDbType.UniqueIdentifier).Value = Guid.Parse(roleId);
sqlcmd.ExecuteNonQuery();
GV_UsersRoles.DataBind();
LB_StError.Text = "Employee Role has been updated Successfully.";
LB_StError.ForeColor = System.Drawing.Color.Green;
LB_StError.BorderColor = System.Drawing.Color.Green;
}//End Using
}//End try
catch (Exception ex)
{
LB_StError.Text = ex.Message;
LB_StError.ForeColor = System.Drawing.Color.Red;
LB_StError.BorderColor = System.Drawing.Color.Red;
}
}//End protected void GV3_RowUpdating
===========================================
Method 2
Error:Incorrect syntax near '('.
try
{
using (SqlConnection sqlcon = new SqlConnection(connString))
{
sqlcon.Open();
string Qupdate = "UPDATE Staff SET (RoleId) VALUES(@RoleId) WHERE UserId = @UserId";
SqlCommand sqlcmd = new SqlCommand(Qupdate, sqlcon);
sqlcmd.Parameters.Add(new SqlParameter("@RoleId", SqlDbType.UniqueIdentifier)).Value = new System.Data.SqlTypes.SqlGuid(DRL_Role.SelectedValue);
sqlcmd.ExecuteNonQuery();
GV_UsersRoles.DataBind();
LB_StError.Text = "Employee Role has been updated Successfully.";
LB_StError.ForeColor = System.Drawing.Color.Green;
LB_StError.BorderColor = System.Drawing.Color.Green;
}//End Using
===========================================
Method 3
Error:Failed to convert parameter value from a String to a Guid.
using (SqlConnection sqlcon = new SqlConnection(connString))
{
sqlcon.Open();
string Qupdate = "UPDATE Staff SET (RoleId) VALUES(@RoleId) WHERE UserId = @UserId";
SqlCommand sqlcmd = new SqlCommand(Qupdate, sqlcon);
sqlcmd.Parameters.Add("@RoleId", SqlDbType.UniqueIdentifier).Value = (DRL_Role.SelectedValue.ToString());
sqlcmd.ExecuteNonQuery();
GV_UsersRoles.DataBind();
LB_StError.Text = "Employee Role has been updated Successfully.";
LB_StError.ForeColor = System.Drawing.Color.Green;
LB_StError.BorderColor = System.Drawing.Color.Green;
}//End Using